{"_id":"react-native-beacon-kit","_rev":"27-d440f28d85364dcdc8d2a88ea71ef6c0","name":"react-native-beacon-kit","dist-tags":{"latest":"0.12.0"},"versions":{"0.1.0":{"name":"react-native-beacon-kit","version":"0.1.0","keywords":["react-native","ios","android"],"author":{"url":"https://github.com/joncodeofficial","name":"joncodeofficial","email":"gran_200014@hotmail.com"},"license":"MIT","_id":"react-native-beacon-kit@0.1.0","maintainers":[{"name":"joncodeofficial","email":"granj215@gmail.com"}],"homepage":"https://github.com/joncodeofficial/react-native-beacon#readme","bugs":{"url":"https://github.com/joncodeofficial/react-native-beacon/issues"},"dist":{"shasum":"83a2b8270373b1d3c92382991af8660f4201f8c1","tarball":"https://registry.npmjs.org/react-native-beacon-kit/-/react-native-beacon-kit-0.1.0.tgz","fileCount":22,"integrity":"sha512-C3qr/NmT4CjvAFCFuh2R3xmf31ZljX1ziNaRrnzKRasayJkWfOeN/8HrJTg8yeLF6uRXFhoHV1DGrE4nJLL+0w==","signatures":[{"sig":"MEUCIG4zu05AluSIAuawWowjLIT+5t5smM7L913+vz7oYXvPAiEAr+Ya+Q8jf3BlAl+4xeiBxx6p6oTEay0vhU2Pg9UWql4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":36401},"jest":{"preset":"react-native","modulePathIgnorePatterns":["<rootDir>/example/node_modules","<rootDir>/lib/"]},"main":"./lib/module/index.js","types":"./lib/typescript/src/index.d.ts","exports":{".":{"types":"./lib/typescript/src/index.d.ts","source":"./src/index.tsx","default":"./lib/module/index.js"},"./package.json":"./package.json"},"gitHead":"be41edccb1f4406eddd120aca86f9ec3a0ce6f74","scripts":{"web":"vite","lint":"eslint \"**/*.{js,ts,tsx}\"","test":"jest","clean":"del-cli android/build example/android/build example/android/app/build example/ios/build lib","example":"yarn workspace react-native-beacon-example","prepare":"bob build","release":"release-it --only-version","build:web":"vite build","typecheck":"tsc"},"_npmUser":{"name":"joncodeofficial","email":"granj215@gmail.com"},"prettier":{"useTabs":false,"tabWidth":2,"quoteProps":"consistent","singleQuote":true,"trailingComma":"es5"},"commitlint":{"extends":["@commitlint/config-conventional"]},"release-it":{"git":{"tagName":"v${version}","commitMessage":"chore: release ${version}"},"npm":{"publish":true},"github":{"release":true},"plugins":{"@release-it/conventional-changelog":{"preset":{"name":"angular"}}}},"repository":{"url":"git+https://github.com/joncodeofficial/react-native-beacon.git","type":"git"},"workspaces":["example"],"_npmVersion":"10.9.2","description":"description","directories":{},"_nodeVersion":"22.14.0","codegenConfig":{"name":"BeaconSpec","type":"modules","android":{"javaPackageName":"com.reactnativebeacon"},"jsSrcsDir":"src"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"yarn@4.11.0","devDependencies":{"jest":"^30.3.0","react":"19.2.0","turbo":"^2.8.21","eslint":"^9.39.4","del-cli":"^7.0.0","lefthook":"^2.1.4","prettier":"^3.8.1","@eslint/js":"^10.0.1","commitlint":"^20.5.0","release-it":"^19.2.4","typescript":"^6.0.2","@types/react":"^19.2.0","react-native":"0.83.0","@jest/globals":"^30.0.0","@eslint/compat":"^2.0.3","@eslint/eslintrc":"^3.3.5","react-native-web":"~0.21.1","eslint-plugin-ft-flow":"^3.0.11","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","react-native-builder-bob":"^0.41.0","@react-native/babel-preset":"0.83.0","@react-native/eslint-config":"0.83.0","@commitlint/config-conventional":"^20.5.0","@release-it/conventional-changelog":"^10.0.6"},"peerDependencies":{"react":"*","react-native":"*"},"_npmOperationalInternal":{"tmp":"tmp/react-native-beacon-kit_0.1.0_1775710903194_0.11516300669985746","host":"s3://npm-registry-packages-npm-production"},"react-native-builder-bob":{"output":"lib","source":"src","targets":[["module",{"esm":true}],["typescript",{"project":"tsconfig.build.json"}]]},"create-react-native-library":{"type":"turbo-module","tools":["lefthook","release-it","vite","jest","eslint"],"version":"0.59.0","languages":"kotlin-objc"}},"0.1.1":{"name":"react-native-beacon-kit","version":"0.1.1","keywords":["react-native","ios","android"],"author":{"url":"https://github.com/joncodeofficial","name":"joncodeofficial","email":"gran_200014@hotmail.com"},"license":"MIT","_id":"react-native-beacon-kit@0.1.1","maintainers":[{"name":"joncodeofficial","email":"granj215@gmail.com"}],"homepage":"https://github.com/joncodeofficial/react-native-beacon#readme","bugs":{"url":"https://github.com/joncodeofficial/react-native-beacon/issues"},"dist":{"shasum":"ef1d56a49b836f6ca00fcf639f11b8a5b2f4cb93","tarball":"https://registry.npmjs.org/react-native-beacon-kit/-/react-native-beacon-kit-0.1.1.tgz","fileCount":22,"integrity":"sha512-dEi6GNdVXAO9aQG7/qxw0AKOSj5kATXEJdfePdRsVuusuKdW6le8cgWMSxo8zrk9hyJumQ1SMns2nsCuTakvXg==","signatures":[{"sig":"MEUCIHbcSatcxHRusnjEXLjG4KbSFB1u4q2ymfXTiuo8JwjQAiEAgavoapf1l/NBv2QV8Pi6uOe5omnwlFHDprOtoDFfYZE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":36413},"jest":{"preset":"react-native","modulePathIgnorePatterns":["<rootDir>/example/node_modules","<rootDir>/lib/"]},"main":"./lib/module/index.js","types":"./lib/typescript/src/index.d.ts","exports":{".":{"types":"./lib/typescript/src/index.d.ts","source":"./src/index.tsx","default":"./lib/module/index.js"},"./package.json":"./package.json"},"gitHead":"5778661f02ecbebaf5da96846838397454bd6869","scripts":{"web":"vite","lint":"eslint \"**/*.{js,ts,tsx}\"","test":"jest","clean":"del-cli android/build example/android/build example/android/app/build example/ios/build lib","example":"yarn workspace react-native-beacon-example","prepare":"bob build","release":"release-it --only-version","build:web":"vite build","typecheck":"tsc"},"_npmUser":{"name":"joncodeofficial","email":"granj215@gmail.com"},"prettier":{"useTabs":false,"tabWidth":2,"quoteProps":"consistent","singleQuote":true,"trailingComma":"es5"},"commitlint":{"extends":["@commitlint/config-conventional"]},"release-it":{"git":{"tagName":"v${version}","commitMessage":"chore: release ${version}"},"npm":{"publish":true},"github":{"release":true},"plugins":{"@release-it/conventional-changelog":{"preset":{"name":"angular"}}}},"repository":{"url":"git+https://github.com/joncodeofficial/react-native-beacon.git","type":"git"},"workspaces":["example"],"_npmVersion":"10.9.2","description":"description","directories":{},"_nodeVersion":"22.14.0","codegenConfig":{"name":"BeaconSpec","type":"modules","android":{"javaPackageName":"com.reactnativebeacon"},"jsSrcsDir":"src"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"yarn@4.11.0","devDependencies":{"jest":"^30.3.0","react":"19.2.0","turbo":"^2.8.21","eslint":"^9.39.4","del-cli":"^7.0.0","lefthook":"^2.1.4","prettier":"^3.8.1","@eslint/js":"^10.0.1","commitlint":"^20.5.0","release-it":"^19.2.4","typescript":"^6.0.2","@types/react":"^19.2.0","react-native":"0.83.0","@jest/globals":"^30.0.0","@eslint/compat":"^2.0.3","@eslint/eslintrc":"^3.3.5","react-native-web":"~0.21.1","eslint-plugin-ft-flow":"^3.0.11","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","react-native-builder-bob":"^0.41.0","@react-native/babel-preset":"0.83.0","@react-native/eslint-config":"0.83.0","@commitlint/config-conventional":"^20.5.0","@release-it/conventional-changelog":"^10.0.6"},"peerDependencies":{"react":"*","react-native":"*"},"_npmOperationalInternal":{"tmp":"tmp/react-native-beacon-kit_0.1.1_1775711060491_0.16946031873964285","host":"s3://npm-registry-packages-npm-production"},"react-native-builder-bob":{"output":"lib","source":"src","targets":[["module",{"esm":true}],["typescript",{"project":"tsconfig.build.json"}]]},"create-react-native-library":{"type":"turbo-module","tools":["lefthook","release-it","vite","jest","eslint"],"version":"0.59.0","languages":"kotlin-objc"}},"0.1.2":{"name":"react-native-beacon-kit","version":"0.1.2","keywords":["react-native","ios","android"],"author":{"url":"https://github.com/joncodeofficial","name":"joncodeofficial","email":"gran_200014@hotmail.com"},"license":"MIT","_id":"react-native-beacon-kit@0.1.2","maintainers":[{"name":"joncodeofficial","email":"granj215@gmail.com"}],"homepage":"https://github.com/joncodeofficial/react-native-beacon#readme","bugs":{"url":"https://github.com/joncodeofficial/react-native-beacon/issues"},"dist":{"shasum":"e242f90e73b3cf25ee8cf570e4c6535cf300d104","tarball":"https://registry.npmjs.org/react-native-beacon-kit/-/react-native-beacon-kit-0.1.2.tgz","fileCount":22,"integrity":"sha512-HfKIBAcRu31NhYbOxPr3TyIqLejPDH5fQJG123gpPAvJase75ATEuwmVJLkz7nZNwH5G8B1N44S1j1hcgGtMlg==","signatures":[{"sig":"MEQCIEcWzVyDS/AUpw0SfP7Dy0vhaFV9ylkoJCR6C2LejkviAiBGYb1B/fab1TW5EHN5xwkUdUZO5/Ig5vy6pRv7+2pQlw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":36674},"jest":{"preset":"react-native","modulePathIgnorePatterns":["<rootDir>/example/node_modules","<rootDir>/lib/"]},"main":"./lib/module/index.js","types":"./lib/typescript/src/index.d.ts","exports":{".":{"types":"./lib/typescript/src/index.d.ts","source":"./src/index.tsx","default":"./lib/module/index.js"},"./package.json":"./package.json"},"gitHead":"219d574a554194b8deb4f73da39d93dc1a25f171","scripts":{"web":"vite","lint":"eslint \"**/*.{js,ts,tsx}\"","test":"jest","clean":"del-cli android/build example/android/build example/android/app/build example/ios/build lib","example":"yarn workspace react-native-beacon-example","prepare":"bob build","release":"release-it --only-version","build:web":"vite build","typecheck":"tsc"},"_npmUser":{"name":"joncodeofficial","email":"granj215@gmail.com"},"prettier":{"useTabs":false,"tabWidth":2,"quoteProps":"consistent","singleQuote":true,"trailingComma":"es5"},"commitlint":{"extends":["@commitlint/config-conventional"]},"release-it":{"git":{"tagName":"v${version}","commitMessage":"chore: release ${version}"},"npm":{"publish":true},"github":{"release":true},"plugins":{"@release-it/conventional-changelog":{"preset":{"name":"angular"}}}},"repository":{"url":"git+https://github.com/joncodeofficial/react-native-beacon.git","type":"git"},"workspaces":["example"],"_npmVersion":"10.9.2","description":"description","directories":{},"_nodeVersion":"22.14.0","codegenConfig":{"name":"BeaconSpec","type":"modules","android":{"javaPackageName":"com.reactnativebeacon"},"jsSrcsDir":"src"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"yarn@4.11.0","devDependencies":{"jest":"^30.3.0","react":"19.2.0","turbo":"^2.8.21","eslint":"^9.39.4","del-cli":"^7.0.0","lefthook":"^2.1.4","prettier":"^3.8.1","@eslint/js":"^10.0.1","commitlint":"^20.5.0","release-it":"^19.2.4","typescript":"^6.0.2","@types/react":"^19.2.0","react-native":"0.83.0","@jest/globals":"^30.0.0","@eslint/compat":"^2.0.3","@eslint/eslintrc":"^3.3.5","react-native-web":"~0.21.1","eslint-plugin-ft-flow":"^3.0.11","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","react-native-builder-bob":"^0.41.0","@react-native/babel-preset":"0.83.0","@react-native/eslint-config":"0.83.0","@commitlint/config-conventional":"^20.5.0","@release-it/conventional-changelog":"^10.0.6"},"peerDependencies":{"react":"*","react-native":"*"},"_npmOperationalInternal":{"tmp":"tmp/react-native-beacon-kit_0.1.2_1775712691344_0.774830168823363","host":"s3://npm-registry-packages-npm-production"},"react-native-builder-bob":{"output":"lib","source":"src","targets":[["module",{"esm":true}],["typescript",{"project":"tsconfig.build.json"}]]},"create-react-native-library":{"type":"turbo-module","tools":["lefthook","release-it","vite","jest","eslint"],"version":"0.59.0","languages":"kotlin-objc"}},"0.1.3":{"name":"react-native-beacon-kit","version":"0.1.3","keywords":["react-native","beacon","ibeacon","altbeacon","ble","bluetooth","bluetooth beacon","react-native-beacon","react-native-beacons","react native beacon","background scanning","turbo modules","new architecture","indoor positioning","proximity","ios","android","expo"],"author":{"url":"https://github.com/joncodeofficial","name":"joncodeofficial","email":"gran_200014@hotmail.com"},"license":"MIT","_id":"react-native-beacon-kit@0.1.3","maintainers":[{"name":"joncodeofficial","email":"granj215@gmail.com"}],"homepage":"https://github.com/joncodeofficial/react-native-beacon#readme","bugs":{"url":"https://github.com/joncodeofficial/react-native-beacon/issues"},"dist":{"shasum":"56502495d7b81bd7c4eeefccdaae54c3b1f1f80d","tarball":"https://registry.npmjs.org/react-native-beacon-kit/-/react-native-beacon-kit-0.1.3.tgz","fileCount":22,"integrity":"sha512-fqOIBKXGBymNGmw7ezlckmruDguidrIc3WF8KEpFFOI0+KDN+97CArsn2BNHYAEsFBeLrSFuam2V77t4iSIOaw==","signatures":[{"sig":"MEUCIF3A9/CGZZO0eYwhWzY8f+KdUm9qbdh/2yd199nnpbxBAiEA8LRd0fig8anJIN406YUcNrK7ql1A056SlyOZj1AwJM4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":37079},"jest":{"preset":"react-native","modulePathIgnorePatterns":["<rootDir>/example/node_modules","<rootDir>/lib/"]},"main":"./lib/module/index.js","types":"./lib/typescript/src/index.d.ts","exports":{".":{"types":"./lib/typescript/src/index.d.ts","source":"./src/index.tsx","default":"./lib/module/index.js"},"./package.json":"./package.json"},"gitHead":"7280e10c68120d5da8b8e4639f62c54bf6eef01f","scripts":{"web":"vite","lint":"eslint \"**/*.{js,ts,tsx}\"","test":"jest","clean":"del-cli android/build example/android/build example/android/app/build example/ios/build lib","example":"yarn workspace react-native-beacon-example","prepare":"bob build","release":"release-it --only-version","build:web":"vite build","typecheck":"tsc"},"_npmUser":{"name":"joncodeofficial","email":"granj215@gmail.com"},"prettier":{"useTabs":false,"tabWidth":2,"quoteProps":"consistent","singleQuote":true,"trailingComma":"es5"},"commitlint":{"extends":["@commitlint/config-conventional"]},"release-it":{"git":{"tagName":"v${version}","commitMessage":"chore: release ${version}"},"npm":{"publish":true},"github":{"release":true},"plugins":{"@release-it/conventional-changelog":{"preset":{"name":"angular"}}}},"repository":{"url":"git+https://github.com/joncodeofficial/react-native-beacon.git","type":"git"},"workspaces":["example"],"_npmVersion":"10.9.2","description":"iBeacon & AltBeacon for React Native — New Architecture (TurboModules + JSI) with real background scanning.","directories":{},"_nodeVersion":"22.14.0","codegenConfig":{"name":"BeaconSpec","type":"modules","android":{"javaPackageName":"com.reactnativebeacon"},"jsSrcsDir":"src"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"yarn@4.11.0","devDependencies":{"jest":"^30.3.0","react":"19.2.0","turbo":"^2.8.21","eslint":"^9.39.4","del-cli":"^7.0.0","lefthook":"^2.1.4","prettier":"^3.8.1","@eslint/js":"^10.0.1","commitlint":"^20.5.0","release-it":"^19.2.4","typescript":"^6.0.2","@types/react":"^19.2.0","react-native":"0.83.0","@jest/globals":"^30.0.0","@eslint/compat":"^2.0.3","@eslint/eslintrc":"^3.3.5","react-native-web":"~0.21.1","eslint-plugin-ft-flow":"^3.0.11","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","react-native-builder-bob":"^0.41.0","@react-native/babel-preset":"0.83.0","@react-native/eslint-config":"0.83.0","@commitlint/config-conventional":"^20.5.0","@release-it/conventional-changelog":"^10.0.6"},"peerDependencies":{"react":"*","react-native":"*"},"_npmOperationalInternal":{"tmp":"tmp/react-native-beacon-kit_0.1.3_1775713773949_0.8917840250913089","host":"s3://npm-registry-packages-npm-production"},"react-native-builder-bob":{"output":"lib","source":"src","targets":[["module",{"esm":true}],["typescript",{"project":"tsconfig.build.json"}]]},"create-react-native-library":{"type":"turbo-module","tools":["lefthook","release-it","vite","jest","eslint"],"version":"0.59.0","languages":"kotlin-objc"}},"0.2.0":{"name":"react-native-beacon-kit","version":"0.2.0","keywords":["react-native","beacon","ibeacon","altbeacon","ble","bluetooth","bluetooth beacon","react-native-beacon","react-native-beacons","react native beacon","background scanning","turbo modules","new architecture","indoor positioning","proximity","ios","android","expo"],"author":{"url":"https://github.com/joncodeofficial","name":"joncodeofficial","email":"gran_200014@hotmail.com"},"license":"MIT","_id":"react-native-beacon-kit@0.2.0","maintainers":[{"name":"joncodeofficial","email":"granj215@gmail.com"}],"homepage":"https://github.com/joncodeofficial/react-native-beacon-kit#readme","bugs":{"url":"https://github.com/joncodeofficial/react-native-beacon-kit/issues"},"dist":{"shasum":"af547e9f1318cdff6d1971fb8ddf4f7a71fba9b1","tarball":"https://registry.npmjs.org/react-native-beacon-kit/-/react-native-beacon-kit-0.2.0.tgz","fileCount":22,"integrity":"sha512-vBlSQ1EwM3XmOUMd15lrLSs6B5I4l2UntLysI9puXgBxZ3SE/bqi2KYglmgrjo/CiK2lsHMDWhDSEir0UAfi0A==","signatures":[{"sig":"MEQCIG6qeeOOHMlBcWGi4yYwGEU9Wx6deLaphk3VJ22u+ZxdAiB3tWlsajZDFbjffHmz/Q77zdvGuUSNiEyNr3e8dlkNlQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":69399},"jest":{"preset":"react-native","modulePathIgnorePatterns":["<rootDir>/example/node_modules","<rootDir>/lib/"]},"main":"./lib/module/index.js","types":"./lib/typescript/src/index.d.ts","exports":{".":{"types":"./lib/typescript/src/index.d.ts","source":"./src/index.tsx","default":"./lib/module/index.js"},"./package.json":"./package.json"},"gitHead":"b3b832b8220a4ec987467badb210eca0e47b4eaf","scripts":{"web":"vite","lint":"eslint \"**/*.{js,ts,tsx}\"","test":"jest","clean":"del-cli android/build example/android/build example/android/app/build example/ios/build lib","example":"yarn workspace react-native-beacon-example","prepare":"bob build","release":"semantic-release --dry-run","build:web":"vite build","typecheck":"tsc"},"_npmUser":{"name":"joncodeofficial","email":"granj215@gmail.com"},"prettier":{"useTabs":false,"tabWidth":2,"quoteProps":"consistent","singleQuote":true,"trailingComma":"es5"},"repository":{"url":"git+https://github.com/joncodeofficial/react-native-beacon-kit.git","type":"git"},"workspaces":["example"],"_npmVersion":"11.12.1","description":"iBeacon & AltBeacon for React Native — New Architecture (TurboModules + JSI) with real background scanning.","directories":{},"_nodeVersion":"22.20.0","codegenConfig":{"name":"BeaconSpec","type":"modules","android":{"javaPackageName":"com.reactnativebeacon"},"jsSrcsDir":"src"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"yarn@4.11.0","devDependencies":{"jest":"^30.3.0","react":"19.2.0","turbo":"^2.8.21","eslint":"^9.39.4","del-cli":"^7.0.0","lefthook":"^2.1.4","prettier":"^3.8.1","@eslint/js":"^10.0.1","commitlint":"^20.5.0","typescript":"^6.0.2","@types/react":"^19.2.0","react-native":"0.83.0","@jest/globals":"^30.0.0","@eslint/compat":"^2.0.3","@eslint/eslintrc":"^3.3.5","react-native-web":"~0.21.1","semantic-release":"^25.0.3","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","eslint-plugin-ft-flow":"^3.0.11","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.6","react-native-builder-bob":"^0.41.0","@react-native/babel-preset":"0.83.0","@react-native/eslint-config":"0.83.0","@semantic-release/changelog":"^6.0.3","@commitlint/config-conventional":"^20.5.0","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/release-notes-generator":"^14.1.0"},"peerDependencies":{"react":"*","react-native":"*"},"_npmOperationalInternal":{"tmp":"tmp/react-native-beacon-kit_0.2.0_1776032298100_0.6951543650310408","host":"s3://npm-registry-packages-npm-production"},"react-native-builder-bob":{"output":"lib","source":"src","targets":[["module",{"esm":true}],["typescript",{"project":"tsconfig.build.json"}]]},"create-react-native-library":{"type":"turbo-module","tools":["lefthook","release-it","vite","jest","eslint"],"version":"0.59.0","languages":"kotlin-objc"}},"0.3.0":{"name":"react-native-beacon-kit","version":"0.3.0","keywords":["react-native","beacon","ibeacon","altbeacon","ble","bluetooth","bluetooth beacon","react-native-beacon","react-native-beacons","react native beacon","background scanning","turbo modules","new architecture","indoor positioning","proximity","ios","android","expo"],"author":{"url":"https://github.com/joncodeofficial","name":"joncodeofficial","email":"gran_200014@hotmail.com"},"license":"MIT","_id":"react-native-beacon-kit@0.3.0","maintainers":[{"name":"joncodeofficial","email":"granj215@gmail.com"}],"homepage":"https://github.com/joncodeofficial/react-native-beacon-kit#readme","bugs":{"url":"https://github.com/joncodeofficial/react-native-beacon-kit/issues"},"dist":{"shasum":"6d50d8f9a1f38c1bae45f0248755ee7c142b7134","tarball":"https://registry.npmjs.org/react-native-beacon-kit/-/react-native-beacon-kit-0.3.0.tgz","fileCount":22,"integrity":"sha512-6z9xSxW319uSnTh2/q4FksXEKb72GSghu2t3t3gaVEpIaJffySSprP2i2xflJqjBHPwb/4zUB7pkXaGxGHf2dg==","signatures":[{"sig":"MEUCIQCIFyjBzKss1mVPyqVZagFvM2ow7r8b1PyScZNfi77QnwIgIvi2q7XHOWWNCeB9ZSIFclHVHYC8bBADER+yeb90Pkc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":85922},"jest":{"preset":"react-native","modulePathIgnorePatterns":["<rootDir>/example/node_modules","<rootDir>/lib/"]},"main":"./lib/module/index.js","types":"./lib/typescript/src/index.d.ts","exports":{".":{"types":"./lib/typescript/src/index.d.ts","source":"./src/index.tsx","default":"./lib/module/index.js"},"./package.json":"./package.json"},"gitHead":"0b948bb0315948bd3662307d45354232f5fff0b6","scripts":{"web":"vite","lint":"eslint \"**/*.{js,ts,tsx}\"","test":"jest","clean":"del-cli android/build example/android/build example/android/app/build example/ios/build lib","example":"yarn workspace react-native-beacon-example","prepare":"bob build","release":"semantic-release --dry-run","build:web":"vite build","typecheck":"tsc"},"_npmUser":{"name":"joncodeofficial","email":"granj215@gmail.com"},"prettier":{"useTabs":false,"tabWidth":2,"quoteProps":"consistent","singleQuote":true,"trailingComma":"es5"},"repository":{"url":"git+https://github.com/joncodeofficial/react-native-beacon-kit.git","type":"git"},"workspaces":["example"],"_npmVersion":"11.12.1","description":"iBeacon & AltBeacon for React Native — New Architecture (TurboModules + JSI) with real background scanning.","directories":{},"_nodeVersion":"22.20.0","codegenConfig":{"name":"BeaconSpec","type":"modules","android":{"javaPackageName":"com.reactnativebeacon"},"jsSrcsDir":"src"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"yarn@4.11.0","devDependencies":{"jest":"^30.3.0","react":"19.2.0","turbo":"^2.8.21","eslint":"^9.39.4","del-cli":"^7.0.0","lefthook":"^2.1.4","prettier":"^3.8.1","@eslint/js":"^10.0.1","commitlint":"^20.5.0","typescript":"^6.0.2","@types/react":"^19.2.0","react-native":"0.83.0","@jest/globals":"^30.0.0","@eslint/compat":"^2.0.3","@eslint/eslintrc":"^3.3.5","react-native-web":"~0.21.1","semantic-release":"^25.0.3","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","eslint-plugin-ft-flow":"^3.0.11","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.6","react-native-builder-bob":"^0.41.0","@react-native/babel-preset":"0.83.0","@react-native/eslint-config":"0.83.0","@semantic-release/changelog":"^6.0.3","@commitlint/config-conventional":"^20.5.0","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/release-notes-generator":"^14.1.0"},"peerDependencies":{"react":"*","react-native":"*"},"_npmOperationalInternal":{"tmp":"tmp/react-native-beacon-kit_0.3.0_1776036083099_0.8636485853634732","host":"s3://npm-registry-packages-npm-production"},"react-native-builder-bob":{"output":"lib","source":"src","targets":[["module",{"esm":true}],["typescript",{"project":"tsconfig.build.json"}]]},"create-react-native-library":{"type":"turbo-module","tools":["lefthook","release-it","vite","jest","eslint"],"version":"0.59.0","languages":"kotlin-objc"}},"0.3.1":{"name":"react-native-beacon-kit","version":"0.3.1","keywords":["react-native","beacon","ibeacon","altbeacon","ble","bluetooth","bluetooth beacon","react-native-beacon","react-native-beacons","react native beacon","background scanning","turbo modules","new architecture","indoor positioning","proximity","ios","android","expo"],"author":{"url":"https://github.com/joncodeofficial","name":"joncodeofficial","email":"gran_200014@hotmail.com"},"license":"MIT","_id":"react-native-beacon-kit@0.3.1","maintainers":[{"name":"joncodeofficial","email":"granj215@gmail.com"}],"homepage":"https://github.com/joncodeofficial/react-native-beacon-kit#readme","bugs":{"url":"https://github.com/joncodeofficial/react-native-beacon-kit/issues"},"dist":{"shasum":"17456984550a4eb8164e1c2e8e7818eb99dfdaeb","tarball":"https://registry.npmjs.org/react-native-beacon-kit/-/react-native-beacon-kit-0.3.1.tgz","fileCount":22,"integrity":"sha512-GFvXAiRmgJ6phSyBO3GwnqVBbSIgxpzZWpq8Q8RFOX/WYSzR+QQqTxXPliY4gE9ZULKFMCTanTinNoXR4IiCeg==","signatures":[{"sig":"MEQCICkJaT9HqKK1fLChJ+7npThh3Z4h31PIXmwrhMSzI4TtAiB/ztjBLgHyAYnUbii1YQlew0rTWFCqiPDcgjQjQJv8LQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":94453},"jest":{"preset":"react-native","modulePathIgnorePatterns":["<rootDir>/example/node_modules","<rootDir>/lib/"]},"main":"./lib/module/index.js","types":"./lib/typescript/src/index.d.ts","exports":{".":{"types":"./lib/typescript/src/index.d.ts","source":"./src/index.tsx","default":"./lib/module/index.js"},"./package.json":"./package.json"},"gitHead":"0e4e9c62d7601d48bc160022fefa188406ce0cc4","scripts":{"web":"vite","lint":"eslint \"**/*.{js,ts,tsx}\"","test":"jest","clean":"del-cli android/build example/android/build example/android/app/build example/ios/build lib","example":"yarn workspace react-native-beacon-example","prepare":"bob build","release":"semantic-release --dry-run","build:web":"vite build","typecheck":"tsc"},"_npmUser":{"name":"joncodeofficial","email":"granj215@gmail.com"},"prettier":{"useTabs":false,"tabWidth":2,"quoteProps":"consistent","singleQuote":true,"trailingComma":"es5"},"repository":{"url":"git+https://github.com/joncodeofficial/react-native-beacon-kit.git","type":"git"},"workspaces":["example"],"_npmVersion":"11.12.1","description":"iBeacon & AltBeacon for React Native — New Architecture (TurboModules + JSI) with real background scanning.","directories":{},"_nodeVersion":"22.20.0","codegenConfig":{"name":"BeaconSpec","type":"modules","android":{"javaPackageName":"com.reactnativebeacon"},"jsSrcsDir":"src"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"yarn@4.11.0","devDependencies":{"jest":"^30.3.0","react":"19.2.0","turbo":"^2.8.21","eslint":"^9.39.4","del-cli":"^7.0.0","lefthook":"^2.1.4","prettier":"^3.8.1","@eslint/js":"^10.0.1","commitlint":"^20.5.0","typescript":"^6.0.2","@types/react":"^19.2.0","react-native":"0.83.0","@jest/globals":"^30.0.0","@eslint/compat":"^2.0.3","@eslint/eslintrc":"^3.3.5","react-native-web":"~0.21.1","semantic-release":"^25.0.3","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","eslint-plugin-ft-flow":"^3.0.11","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.6","react-native-builder-bob":"^0.41.0","@react-native/babel-preset":"0.83.0","@react-native/eslint-config":"0.83.0","@semantic-release/changelog":"^6.0.3","@commitlint/config-conventional":"^20.5.0","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/release-notes-generator":"^14.1.0"},"peerDependencies":{"react":"*","react-native":"*"},"_npmOperationalInternal":{"tmp":"tmp/react-native-beacon-kit_0.3.1_1776108731543_0.6598506374103816","host":"s3://npm-registry-packages-npm-production"},"react-native-builder-bob":{"output":"lib","source":"src","targets":[["module",{"esm":true}],["typescript",{"project":"tsconfig.build.json"}]]},"create-react-native-library":{"type":"turbo-module","tools":["lefthook","release-it","vite","jest","eslint"],"version":"0.59.0","languages":"kotlin-objc"}},"0.4.0":{"name":"react-native-beacon-kit","version":"0.4.0","keywords":["react-native","beacon","ibeacon","altbeacon","ble","bluetooth","bluetooth beacon","react-native-beacon","react-native-beacons","react native beacon","background scanning","turbo modules","new architecture","indoor positioning","proximity","ios","android","expo"],"author":{"url":"https://github.com/joncodeofficial","name":"joncodeofficial","email":"gran_200014@hotmail.com"},"license":"MIT","_id":"react-native-beacon-kit@0.4.0","maintainers":[{"name":"joncodeofficial","email":"granj215@gmail.com"}],"homepage":"https://github.com/joncodeofficial/react-native-beacon-kit#readme","bugs":{"url":"https://github.com/joncodeofficial/react-native-beacon-kit/issues"},"dist":{"shasum":"5be704891ad573b36893b8e959697325ebb2062c","tarball":"https://registry.npmjs.org/react-native-beacon-kit/-/react-native-beacon-kit-0.4.0.tgz","fileCount":22,"integrity":"sha512-s7yzBAL5k1ZWxtEyEdUaHkg13y5ah9+vCIEMulPWrYfLNamUcHinTrAzmccCM/S8OxjvwIEfkGuC6tNZlEumVw==","signatures":[{"sig":"MEUCIB4ifCze5T8bCCnxo5IiUl7sQF7MOroByc+os0WCBq/WAiEA8iZeHFxNlu3ge9ZjXnAlxuw+x23Yy76yXDvKnHvN0bg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":100790},"jest":{"preset":"react-native","modulePathIgnorePatterns":["<rootDir>/example/node_modules","<rootDir>/lib/"]},"main":"./lib/module/index.js","types":"./lib/typescript/src/index.d.ts","exports":{".":{"types":"./lib/typescript/src/index.d.ts","source":"./src/index.tsx","default":"./lib/module/index.js"},"./package.json":"./package.json"},"gitHead":"e036c5700352966ad92277f6e29c67378409db22","scripts":{"web":"vite","lint":"eslint \"**/*.{js,ts,tsx}\"","test":"jest","clean":"del-cli android/build example/android/build example/android/app/build example/ios/build lib","example":"yarn workspace react-native-beacon-example","prepare":"bob build","release":"semantic-release --dry-run","build:web":"vite build","typecheck":"tsc"},"_npmUser":{"name":"joncodeofficial","email":"granj215@gmail.com"},"prettier":{"useTabs":false,"tabWidth":2,"quoteProps":"consistent","singleQuote":true,"trailingComma":"es5"},"repository":{"url":"git+https://github.com/joncodeofficial/react-native-beacon-kit.git","type":"git"},"workspaces":["example"],"_npmVersion":"11.12.1","description":"iBeacon & AltBeacon for React Native — New Architecture (TurboModules + JSI) with real background scanning.","directories":{},"_nodeVersion":"22.20.0","codegenConfig":{"name":"BeaconSpec","type":"modules","android":{"javaPackageName":"com.reactnativebeacon"},"jsSrcsDir":"src"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"yarn@4.11.0","devDependencies":{"jest":"^30.3.0","react":"19.2.0","turbo":"^2.8.21","eslint":"^9.39.4","del-cli":"^7.0.0","lefthook":"^2.1.4","prettier":"^3.8.1","@eslint/js":"^10.0.1","commitlint":"^20.5.0","typescript":"^6.0.2","@types/react":"^19.2.0","react-native":"0.83.0","@jest/globals":"^30.0.0","@eslint/compat":"^2.0.3","@eslint/eslintrc":"^3.3.5","react-native-web":"~0.21.1","semantic-release":"^25.0.3","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","eslint-plugin-ft-flow":"^3.0.11","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.6","react-native-builder-bob":"^0.41.0","@react-native/babel-preset":"0.83.0","@react-native/eslint-config":"0.83.0","@semantic-release/changelog":"^6.0.3","@commitlint/config-conventional":"^20.5.0","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/release-notes-generator":"^14.1.0"},"peerDependencies":{"react":"*","react-native":"*"},"_npmOperationalInternal":{"tmp":"tmp/react-native-beacon-kit_0.4.0_1776112661297_0.7043536180173566","host":"s3://npm-registry-packages-npm-production"},"react-native-builder-bob":{"output":"lib","source":"src","targets":[["module",{"esm":true}],["typescript",{"project":"tsconfig.build.json"}]]},"create-react-native-library":{"type":"turbo-module","tools":["lefthook","release-it","vite","jest","eslint"],"version":"0.59.0","languages":"kotlin-objc"}},"0.4.1":{"name":"react-native-beacon-kit","version":"0.4.1","keywords":["react-native","beacon","ibeacon","altbeacon","ble","bluetooth","bluetooth beacon","react-native-beacon","react-native-beacons","react native beacon","background scanning","turbo modules","new architecture","indoor positioning","proximity","ios","android","expo"],"author":{"url":"https://github.com/joncodeofficial","name":"joncodeofficial","email":"gran_200014@hotmail.com"},"license":"MIT","_id":"react-native-beacon-kit@0.4.1","maintainers":[{"name":"joncodeofficial","email":"granj215@gmail.com"}],"homepage":"https://github.com/joncodeofficial/react-native-beacon-kit#readme","bugs":{"url":"https://github.com/joncodeofficial/react-native-beacon-kit/issues"},"dist":{"shasum":"511d590c94d46d4f65eb24d91dc012b69b9cb3c1","tarball":"https://registry.npmjs.org/react-native-beacon-kit/-/react-native-beacon-kit-0.4.1.tgz","fileCount":22,"integrity":"sha512-STIpa7Uhhc05Y4jDOLpsWqF4E+rvPIUmGUj6qN2l5o7XFQ/lc/Gz7+2AYlspzbH9B9eFzOPxa5fFp4SDN5//xw==","signatures":[{"sig":"MEUCIC8mDsPUD8/5SFz5QmuzSja865qjj7HGcgLf2AnGJVLpAiEA5lsIJv4ddbhbf2MCETaT6XK79qnr1qvn3Jwbc+t6DE4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":101448},"jest":{"preset":"react-native","modulePathIgnorePatterns":["<rootDir>/example/node_modules","<rootDir>/lib/"]},"main":"./lib/module/index.js","types":"./lib/typescript/src/index.d.ts","exports":{".":{"types":"./lib/typescript/src/index.d.ts","source":"./src/index.tsx","default":"./lib/module/index.js"},"./package.json":"./package.json"},"gitHead":"75f28ed016b9c8666f8f9f4c43f238753a15b162","scripts":{"web":"vite","lint":"eslint \"**/*.{js,ts,tsx}\"","test":"jest","clean":"del-cli android/build example/android/build example/android/app/build example/ios/build lib","example":"yarn workspace react-native-beacon-example","prepare":"bob build","release":"semantic-release --dry-run","build:web":"vite build","typecheck":"tsc"},"_npmUser":{"name":"joncodeofficial","email":"granj215@gmail.com"},"prettier":{"useTabs":false,"tabWidth":2,"quoteProps":"consistent","singleQuote":true,"trailingComma":"es5"},"repository":{"url":"git+https://github.com/joncodeofficial/react-native-beacon-kit.git","type":"git"},"workspaces":["example"],"_npmVersion":"11.12.1","description":"iBeacon & AltBeacon for React Native — New Architecture (TurboModules + JSI) with real background scanning.","directories":{},"_nodeVersion":"22.20.0","codegenConfig":{"name":"BeaconSpec","type":"modules","android":{"javaPackageName":"com.reactnativebeacon"},"jsSrcsDir":"src"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"yarn@4.11.0","devDependencies":{"jest":"^30.3.0","react":"19.2.0","turbo":"^2.8.21","eslint":"^9.39.4","del-cli":"^7.0.0","lefthook":"^2.1.4","prettier":"^3.8.1","@eslint/js":"^10.0.1","commitlint":"^20.5.0","typescript":"^6.0.2","@types/react":"^19.2.0","react-native":"0.83.0","@jest/globals":"^30.0.0","@eslint/compat":"^2.0.3","@eslint/eslintrc":"^3.3.5","react-native-web":"~0.21.1","semantic-release":"^25.0.3","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","eslint-plugin-ft-flow":"^3.0.11","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.6","react-native-builder-bob":"^0.41.0","@react-native/babel-preset":"0.83.0","@react-native/eslint-config":"0.83.0","@semantic-release/changelog":"^6.0.3","@commitlint/config-conventional":"^20.5.0","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/release-notes-generator":"^14.1.0"},"peerDependencies":{"react":"*","react-native":"*"},"_npmOperationalInternal":{"tmp":"tmp/react-native-beacon-kit_0.4.1_1776113007870_0.6390092324409942","host":"s3://npm-registry-packages-npm-production"},"react-native-builder-bob":{"output":"lib","source":"src","targets":[["module",{"esm":true}],["typescript",{"project":"tsconfig.build.json"}]]},"create-react-native-library":{"type":"turbo-module","tools":["lefthook","release-it","vite","jest","eslint"],"version":"0.59.0","languages":"kotlin-objc"}},"0.5.0":{"name":"react-native-beacon-kit","version":"0.5.0","keywords":["react-native","beacon","ibeacon","altbeacon","ble","bluetooth","bluetooth beacon","react-native-beacon","react-native-beacons","react native beacon","background scanning","turbo modules","new architecture","indoor positioning","proximity","ios","android","expo"],"author":{"url":"https://github.com/joncodeofficial","name":"joncodeofficial","email":"gran_200014@hotmail.com"},"license":"MIT","_id":"react-native-beacon-kit@0.5.0","maintainers":[{"name":"joncodeofficial","email":"granj215@gmail.com"}],"homepage":"https://github.com/joncodeofficial/react-native-beacon-kit#readme","bugs":{"url":"https://github.com/joncodeofficial/react-native-beacon-kit/issues"},"dist":{"shasum":"bbfdd547853b5b3a4bbb4160d940526c46a3f931","tarball":"https://registry.npmjs.org/react-native-beacon-kit/-/react-native-beacon-kit-0.5.0.tgz","fileCount":22,"integrity":"sha512-XhP+VqTpXqnCaMcAZE1n2+0t46H1VCr0HLoyicB/0fn+CG281vXTsZ30lqL6OeERcwJSpiWRRhGHKAHXaQIsDQ==","signatures":[{"sig":"MEYCIQCWbi6l9t7lctiVMhbXUd65mzIjaQY5brxiufueXArLLAIhANSqaRVlAkSq+wxxeQXA8b3OytP86rPFATF7feUXsHeY","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":107727},"jest":{"preset":"react-native","modulePathIgnorePatterns":["<rootDir>/example/node_modules","<rootDir>/lib/"]},"main":"./lib/module/index.js","types":"./lib/typescript/src/index.d.ts","exports":{".":{"types":"./lib/typescript/src/index.d.ts","source":"./src/index.tsx","default":"./lib/module/index.js"},"./package.json":"./package.json"},"gitHead":"89c88f9c4b020c044cef46ba6e55020ae1e0580a","scripts":{"web":"vite","lint":"eslint \"**/*.{js,ts,tsx}\"","test":"jest","clean":"del-cli android/build example/android/build example/android/app/build example/ios/build lib","example":"yarn workspace react-native-beacon-example","prepare":"bob build","release":"semantic-release --dry-run","build:web":"vite build","typecheck":"tsc"},"_npmUser":{"name":"joncodeofficial","email":"granj215@gmail.com"},"prettier":{"useTabs":false,"tabWidth":2,"quoteProps":"consistent","singleQuote":true,"trailingComma":"es5"},"repository":{"url":"git+https://github.com/joncodeofficial/react-native-beacon-kit.git","type":"git"},"workspaces":["example"],"_npmVersion":"11.12.1","description":"iBeacon & AltBeacon for React Native — New Architecture (TurboModules + JSI) with real background scanning.","directories":{},"_nodeVersion":"22.20.0","codegenConfig":{"name":"BeaconSpec","type":"modules","android":{"javaPackageName":"com.reactnativebeacon"},"jsSrcsDir":"src"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"yarn@4.11.0","devDependencies":{"jest":"^30.3.0","react":"19.2.0","turbo":"^2.8.21","eslint":"^9.39.4","del-cli":"^7.0.0","lefthook":"^2.1.4","prettier":"^3.8.1","@eslint/js":"^10.0.1","commitlint":"^20.5.0","typescript":"^6.0.2","@types/react":"^19.2.0","react-native":"0.83.0","@jest/globals":"^30.0.0","@eslint/compat":"^2.0.3","@eslint/eslintrc":"^3.3.5","react-native-web":"~0.21.1","semantic-release":"^25.0.3","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","eslint-plugin-ft-flow":"^3.0.11","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.6","react-native-builder-bob":"^0.41.0","@react-native/babel-preset":"0.83.0","@react-native/eslint-config":"0.83.0","@semantic-release/changelog":"^6.0.3","@commitlint/config-conventional":"^20.5.0","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/release-notes-generator":"^14.1.0"},"peerDependencies":{"react":"*","react-native":"*"},"_npmOperationalInternal":{"tmp":"tmp/react-native-beacon-kit_0.5.0_1776116169295_0.1743363450523865","host":"s3://npm-registry-packages-npm-production"},"react-native-builder-bob":{"output":"lib","source":"src","targets":[["module",{"esm":true}],["typescript",{"project":"tsconfig.build.json"}]]},"create-react-native-library":{"type":"turbo-module","tools":["lefthook","release-it","vite","jest","eslint"],"version":"0.59.0","languages":"kotlin-objc"}},"0.6.0":{"name":"react-native-beacon-kit","version":"0.6.0","keywords":["react-native","beacon","ibeacon","altbeacon","ble","bluetooth","bluetooth beacon","react-native-beacon","react-native-beacons","react native beacon","background scanning","turbo modules","new architecture","indoor positioning","proximity","ios","android","expo"],"author":{"url":"https://github.com/joncodeofficial","name":"joncodeofficial","email":"gran_200014@hotmail.com"},"license":"MIT","_id":"react-native-beacon-kit@0.6.0","maintainers":[{"name":"joncodeofficial","email":"granj215@gmail.com"}],"homepage":"https://github.com/joncodeofficial/react-native-beacon-kit#readme","bugs":{"url":"https://github.com/joncodeofficial/react-native-beacon-kit/issues"},"dist":{"shasum":"c131a4b23323cadff64bcde24f91c96ff057d004","tarball":"https://registry.npmjs.org/react-native-beacon-kit/-/react-native-beacon-kit-0.6.0.tgz","fileCount":52,"integrity":"sha512-NDTPN3LT5lu3vIzeoQlz1mjlxl/ZpUdLC31m9oURIx+PvOaCWlJpplbhSW18dFvzQmTEVIks+nWWVZMO3IVRSw==","signatures":[{"sig":"MEYCIQCXCuzlL7qBIUYcfxaEOp1UmJ6fVzM7uM/mRRztBsueEQIhAIcXL8CkwnjeEnpGwxjseSAEXzfjwJS9k1WEOZVc9hkY","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":145653},"jest":{"preset":"react-native","modulePathIgnorePatterns":["<rootDir>/example/node_modules","<rootDir>/lib/"]},"main":"./lib/module/index.js","types":"./lib/typescript/src/index.d.ts","exports":{".":{"types":"./lib/typescript/src/index.d.ts","source":"./src/index.tsx","default":"./lib/module/index.js"},"./package.json":"./package.json"},"gitHead":"26d192fe3701f71654e5ff2f7591c9b1a252aadd","scripts":{"web":"vite","lint":"eslint \"**/*.{js,ts,tsx}\"","test":"jest","clean":"del-cli android/build example/android/build example/android/app/build example/ios/build lib","example":"yarn workspace react-native-beacon-example","prepare":"bob build","release":"semantic-release --dry-run","build:web":"vite build","typecheck":"tsc"},"_npmUser":{"name":"joncodeofficial","email":"granj215@gmail.com"},"prettier":{"useTabs":false,"tabWidth":2,"quoteProps":"consistent","singleQuote":true,"trailingComma":"es5"},"repository":{"url":"git+https://github.com/joncodeofficial/react-native-beacon-kit.git","type":"git"},"workspaces":["example"],"_npmVersion":"11.12.1","description":"iBeacon & AltBeacon for React Native — New Architecture (TurboModules + JSI) with real background scanning.","directories":{},"_nodeVersion":"22.20.0","codegenConfig":{"name":"BeaconSpec","type":"modules","android":{"javaPackageName":"com.reactnativebeacon"},"jsSrcsDir":"src"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"yarn@4.11.0","devDependencies":{"jest":"^30.3.0","react":"19.2.0","turbo":"^2.8.21","eslint":"^9.39.4","del-cli":"^7.0.0","lefthook":"^2.1.4","prettier":"^3.8.1","@eslint/js":"^10.0.1","commitlint":"^20.5.0","typescript":"^6.0.2","@types/react":"^19.2.0","react-native":"0.83.0","@jest/globals":"^30.0.0","@eslint/compat":"^2.0.3","@eslint/eslintrc":"^3.3.5","react-native-web":"~0.21.1","semantic-release":"^25.0.3","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","eslint-plugin-ft-flow":"^3.0.11","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.6","react-native-builder-bob":"^0.41.0","@react-native/babel-preset":"0.83.0","@react-native/eslint-config":"0.83.0","@semantic-release/changelog":"^6.0.3","@commitlint/config-conventional":"^20.5.0","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/release-notes-generator":"^14.1.0"},"peerDependencies":{"react":"*","react-native":"*"},"_npmOperationalInternal":{"tmp":"tmp/react-native-beacon-kit_0.6.0_1776118263856_0.08254229373757482","host":"s3://npm-registry-packages-npm-production"},"react-native-builder-bob":{"output":"lib","source":"src","targets":[["module",{"esm":true}],["typescript",{"project":"tsconfig.build.json"}]]},"create-react-native-library":{"type":"turbo-module","tools":["lefthook","release-it","vite","jest","eslint"],"version":"0.59.0","languages":"kotlin-objc"}},"0.6.1":{"name":"react-native-beacon-kit","version":"0.6.1","keywords":["react-native","beacon","ibeacon","altbeacon","ble","bluetooth","bluetooth beacon","react-native-beacon","react-native-beacons","react native beacon","background scanning","turbo modules","new architecture","indoor positioning","proximity","ios","android","expo"],"author":{"url":"https://github.com/joncodeofficial","name":"joncodeofficial","email":"gran_200014@hotmail.com"},"license":"MIT","_id":"react-native-beacon-kit@0.6.1","maintainers":[{"name":"joncodeofficial","email":"granj215@gmail.com"}],"homepage":"https://github.com/joncodeofficial/react-native-beacon-kit#readme","bugs":{"url":"https://github.com/joncodeofficial/react-native-beacon-kit/issues"},"dist":{"shasum":"417f8da6e71ae5deeb8e50b17be2dcb2a8c283e2","tarball":"https://registry.npmjs.org/react-native-beacon-kit/-/react-native-beacon-kit-0.6.1.tgz","fileCount":52,"integrity":"sha512-aWaFEZPShrOW6RQQU3BjgHdvmnQdd8PBixf3NjjMK2mM6hVk7fDGZTw2ekjz/h+AfTHCdAMx+gDSDlWNJdn1jQ==","signatures":[{"sig":"MEUCIE7FVWSjGOQP+iUUfYKs7DNlQFfBC9Uld8XepJKKZrZ2AiEA2Tqyxi3xHEZq+jD1uPdWNFyCHe55SfhtFvd2SNZxXno=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":149486},"jest":{"preset":"react-native","modulePathIgnorePatterns":["<rootDir>/example/node_modules","<rootDir>/lib/"]},"main":"./lib/module/index.js","types":"./lib/typescript/src/index.d.ts","exports":{".":{"types":"./lib/typescript/src/index.d.ts","source":"./src/index.tsx","default":"./lib/module/index.js"},"./package.json":"./package.json"},"gitHead":"fa604bc3155f3b3f40ee1ae329a17702efb54f7c","scripts":{"web":"vite","lint":"eslint \"**/*.{js,ts,tsx}\"","test":"jest","clean":"del-cli android/build example/android/build example/android/app/build example/ios/build lib","example":"yarn workspace react-native-beacon-example","prepare":"bob build","release":"semantic-release --dry-run","build:web":"vite build","typecheck":"tsc"},"_npmUser":{"name":"joncodeofficial","email":"granj215@gmail.com"},"prettier":{"useTabs":false,"tabWidth":2,"quoteProps":"consistent","singleQuote":true,"trailingComma":"es5"},"repository":{"url":"git+https://github.com/joncodeofficial/react-native-beacon-kit.git","type":"git"},"workspaces":["example"],"_npmVersion":"11.12.1","description":"iBeacon & AltBeacon for React Native — New Architecture (TurboModules + JSI) with real background scanning.","directories":{},"_nodeVersion":"22.20.0","codegenConfig":{"name":"BeaconSpec","type":"modules","android":{"javaPackageName":"com.reactnativebeacon"},"jsSrcsDir":"src"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"yarn@4.11.0","devDependencies":{"jest":"^30.3.0","react":"19.2.0","turbo":"^2.8.21","eslint":"^9.39.4","del-cli":"^7.0.0","lefthook":"^2.1.4","prettier":"^3.8.1","@eslint/js":"^10.0.1","commitlint":"^20.5.0","typescript":"^6.0.2","@types/react":"^19.2.0","react-native":"0.83.0","@jest/globals":"^30.0.0","@eslint/compat":"^2.0.3","@eslint/eslintrc":"^3.3.5","react-native-web":"~0.21.1","semantic-release":"^25.0.3","react-test-renderer":"19.2.0","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","eslint-plugin-ft-flow":"^3.0.11","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.6","react-native-builder-bob":"^0.41.0","@react-native/babel-preset":"0.83.0","@react-native/eslint-config":"0.83.0","@semantic-release/changelog":"^6.0.3","@testing-library/react-native":"^13.3.3","@commitlint/config-conventional":"^20.5.0","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/release-notes-generator":"^14.1.0"},"peerDependencies":{"react":"*","react-native":"*"},"_npmOperationalInternal":{"tmp":"tmp/react-native-beacon-kit_0.6.1_1776120575874_0.7253835051334079","host":"s3://npm-registry-packages-npm-production"},"react-native-builder-bob":{"output":"lib","source":"src","targets":[["module",{"esm":true}],["typescript",{"project":"tsconfig.build.json"}]]},"create-react-native-library":{"type":"turbo-module","tools":["lefthook","release-it","vite","jest","eslint"],"version":"0.59.0","languages":"kotlin-objc"}},"0.6.2":{"name":"react-native-beacon-kit","version":"0.6.2","keywords":["react-native","beacon","ibeacon","altbeacon","ble","bluetooth","bluetooth beacon","react-native-beacon","react-native-beacons","react native beacon","background scanning","turbo modules","new architecture","indoor positioning","proximity","ios","android","expo"],"author":{"url":"https://github.com/joncodeofficial","name":"joncodeofficial","email":"gran_200014@hotmail.com"},"license":"MIT","_id":"react-native-beacon-kit@0.6.2","maintainers":[{"name":"joncodeofficial","email":"granj215@gmail.com"}],"homepage":"https://github.com/joncodeofficial/react-native-beacon-kit#readme","bugs":{"url":"https://github.com/joncodeofficial/react-native-beacon-kit/issues"},"dist":{"shasum":"6131bc95ec9a4860fd65df9bc32944b661ea34cc","tarball":"https://registry.npmjs.org/react-native-beacon-kit/-/react-native-beacon-kit-0.6.2.tgz","fileCount":52,"integrity":"sha512-TAxzirJWsUQlnuHfzNbBuw+af2/GBuAM5dEzDgSiM6gr9cz9z9gZNBkRORsfuXCN2O2XBTvy0QKEC10+L5Ut/w==","signatures":[{"sig":"MEUCIQDopHuTo8VyTPJw1pyxC15jryp70tUZ0LHQS4oGh0FuIgIgU+TPh2Tbx8iC9QBJsB1FHb4PSZbZ44M1xm6YzftR4bA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":149486},"jest":{"preset":"react-native","modulePathIgnorePatterns":["<rootDir>/example/node_modules","<rootDir>/lib/"]},"main":"./lib/module/index.js","types":"./lib/typescript/src/index.d.ts","exports":{".":{"types":"./lib/typescript/src/index.d.ts","source":"./src/index.tsx","default":"./lib/module/index.js"},"./package.json":"./package.json"},"gitHead":"4b8f9ff64ff384cb0ca02b724460fe0584e5225d","scripts":{"web":"vite","lint":"eslint \"**/*.{js,ts,tsx}\"","test":"jest","clean":"del-cli android/build example/android/build example/android/app/build example/ios/build lib","example":"yarn workspace react-native-beacon-example","prepare":"bob build","release":"semantic-release --dry-run","build:web":"vite build","typecheck":"tsc"},"_npmUser":{"name":"joncodeofficial","email":"granj215@gmail.com"},"prettier":{"useTabs":false,"tabWidth":2,"quoteProps":"consistent","singleQuote":true,"trailingComma":"es5"},"repository":{"url":"git+https://github.com/joncodeofficial/react-native-beacon-kit.git","type":"git"},"workspaces":["example"],"_npmVersion":"11.12.1","description":"iBeacon & AltBeacon for React Native — New Architecture (TurboModules + JSI) with real background scanning.","directories":{},"_nodeVersion":"22.20.0","codegenConfig":{"name":"BeaconSpec","type":"modules","android":{"javaPackageName":"com.reactnativebeacon"},"jsSrcsDir":"src"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"yarn@4.11.0","devDependencies":{"jest":"^30.3.0","react":"19.2.0","turbo":"^2.8.21","eslint":"^9.39.4","del-cli":"^7.0.0","lefthook":"^2.1.4","prettier":"^3.8.1","@eslint/js":"^10.0.1","commitlint":"^20.5.0","typescript":"^6.0.2","@types/react":"^19.2.0","react-native":"0.83.0","@jest/globals":"^30.0.0","@eslint/compat":"^2.0.3","@eslint/eslintrc":"^3.3.5","react-native-web":"~0.21.1","semantic-release":"^25.0.3","react-test-renderer":"19.2.0","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","eslint-plugin-ft-flow":"^3.0.11","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.6","react-native-builder-bob":"^0.41.0","@react-native/babel-preset":"0.83.0","@react-native/eslint-config":"0.83.0","@semantic-release/changelog":"^6.0.3","@testing-library/react-native":"^13.3.3","@commitlint/config-conventional":"^20.5.0","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/release-notes-generator":"^14.1.0"},"peerDependencies":{"react":"*","react-native":"*"},"_npmOperationalInternal":{"tmp":"tmp/react-native-beacon-kit_0.6.2_1776121301071_0.20711858343339573","host":"s3://npm-registry-packages-npm-production"},"react-native-builder-bob":{"output":"lib","source":"src","targets":[["module",{"esm":true}],["typescript",{"project":"tsconfig.build.json"}]]},"create-react-native-library":{"type":"turbo-module","tools":["lefthook","release-it","vite","jest","eslint"],"version":"0.59.0","languages":"kotlin-objc"}},"0.6.3":{"name":"react-native-beacon-kit","version":"0.6.3","keywords":["react-native","beacon","ibeacon","altbeacon","ble","bluetooth","bluetooth beacon","react-native-beacon","react-native-beacons","react native beacon","background scanning","turbo modules","new architecture","indoor positioning","proximity","ios","android","expo"],"author":{"url":"https://github.com/joncodeofficial","name":"joncodeofficial","email":"gran_200014@hotmail.com"},"license":"MIT","_id":"react-native-beacon-kit@0.6.3","maintainers":[{"name":"joncodeofficial","email":"granj215@gmail.com"}],"homepage":"https://github.com/joncodeofficial/react-native-beacon-kit#readme","bugs":{"url":"https://github.com/joncodeofficial/react-native-beacon-kit/issues"},"dist":{"shasum":"a7709a2c08014dd830bbd656167c3f3a51738642","tarball":"https://registry.npmjs.org/react-native-beacon-kit/-/react-native-beacon-kit-0.6.3.tgz","fileCount":52,"integrity":"sha512-nbq2JF6vU2svaCtSCV0URHoizJPc1e0IRYIePnkWICula1CoCU9nuu6iVFpLF8yNyDEJXCDywd/CHCpZ20eqnQ==","signatures":[{"sig":"MEUCIQCWJG/9u2pML9Y4VOPqwNIZj0DwgJNCzs27R3Aqoec4hwIgVRv1BVkLXT1SijdjqC7DCaXWbA8ed4Yeb0ftNF0KsFk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":139268},"jest":{"preset":"react-native","modulePathIgnorePatterns":["<rootDir>/example/node_modules","<rootDir>/lib/"]},"main":"./lib/module/index.js","types":"./lib/typescript/src/index.d.ts","exports":{".":{"types":"./lib/typescript/src/index.d.ts","source":"./src/index.tsx","default":"./lib/module/index.js"},"./package.json":"./package.json"},"gitHead":"af13631d5e87581b951421ad7acb56f5f203f2f1","scripts":{"web":"vite","lint":"eslint \"**/*.{js,ts,tsx}\"","test":"jest","clean":"del-cli android/build example/android/build example/android/app/build example/ios/build lib","example":"yarn workspace react-native-beacon-example","prepare":"bob build","release":"semantic-release --dry-run","build:web":"vite build","typecheck":"tsc"},"_npmUser":{"name":"joncodeofficial","email":"granj215@gmail.com"},"prettier":{"useTabs":false,"tabWidth":2,"quoteProps":"consistent","singleQuote":true,"trailingComma":"es5"},"repository":{"url":"git+https://github.com/joncodeofficial/react-native-beacon-kit.git","type":"git"},"workspaces":["example"],"_npmVersion":"11.12.1","description":"iBeacon & AltBeacon for React Native — New Architecture (TurboModules + JSI) with real background scanning.","directories":{},"_nodeVersion":"22.20.0","codegenConfig":{"name":"BeaconSpec","type":"modules","android":{"javaPackageName":"com.reactnativebeacon"},"jsSrcsDir":"src"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"yarn@4.11.0","devDependencies":{"jest":"^30.3.0","react":"19.2.0","turbo":"^2.8.21","eslint":"^9.39.4","del-cli":"^7.0.0","lefthook":"^2.1.4","prettier":"^3.8.1","@eslint/js":"^10.0.1","commitlint":"^20.5.0","typescript":"^6.0.2","@types/react":"^19.2.0","react-native":"0.83.0","@jest/globals":"^30.0.0","@eslint/compat":"^2.0.3","@eslint/eslintrc":"^3.3.5","react-native-web":"~0.21.1","semantic-release":"^25.0.3","react-test-renderer":"19.2.0","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","eslint-plugin-ft-flow":"^3.0.11","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.6","react-native-builder-bob":"^0.41.0","@react-native/babel-preset":"0.83.0","@react-native/eslint-config":"0.83.0","@semantic-release/changelog":"^6.0.3","@testing-library/react-native":"^13.3.3","@commitlint/config-conventional":"^20.5.0","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/release-notes-generator":"^14.1.0"},"peerDependencies":{"react":"*","react-native":"*"},"_npmOperationalInternal":{"tmp":"tmp/react-native-beacon-kit_0.6.3_1776162832868_0.7249091223968187","host":"s3://npm-registry-packages-npm-production"},"react-native-builder-bob":{"output":"lib","source":"src","targets":[["module",{"esm":true}],["typescript",{"project":"tsconfig.build.json"}]]},"create-react-native-library":{"type":"turbo-module","tools":["lefthook","release-it","vite","jest","eslint"],"version":"0.59.0","languages":"kotlin-objc"}},"0.7.0":{"name":"react-native-beacon-kit","version":"0.7.0","keywords":["react-native","beacon","ibeacon","altbeacon","ble","bluetooth","bluetooth beacon","react-native-beacon","react-native-beacons","react native beacon","background scanning","turbo modules","new architecture","indoor positioning","proximity","ios","android","expo"],"author":{"url":"https://github.com/joncodeofficial","name":"joncodeofficial","email":"gran_200014@hotmail.com"},"license":"MIT","_id":"react-native-beacon-kit@0.7.0","maintainers":[{"name":"joncodeofficial","email":"granj215@gmail.com"}],"homepage":"https://github.com/joncodeofficial/react-native-beacon-kit#readme","bugs":{"url":"https://github.com/joncodeofficial/react-native-beacon-kit/issues"},"dist":{"shasum":"b445878e109fc85aa4acc4e506141401a5498b21","tarball":"https://registry.npmjs.org/react-native-beacon-kit/-/react-native-beacon-kit-0.7.0.tgz","fileCount":53,"integrity":"sha512-vRnvG1GsbexUdnNBjOTSoAFAShTcchCCmXRzvQFG+mG/N//6jRVTWdPzq7vERLoufn9iI5kRd3Z1UzxTArjqvw==","signatures":[{"sig":"MEQCIAeqjQOSsxEVlYMdtUKkEDtY9Zxmew6rTqYLESH/BviEAiAwAb0ZygKnw29g6M03Hi0pprzco9vM1khQ/SipkiqbFw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":142573},"jest":{"preset":"react-native","modulePathIgnorePatterns":["<rootDir>/example/node_modules","<rootDir>/lib/"]},"main":"./lib/module/index.js","types":"./lib/typescript/src/index.d.ts","exports":{".":{"types":"./lib/typescript/src/index.d.ts","source":"./src/index.tsx","default":"./lib/module/index.js"},"./package.json":"./package.json"},"gitHead":"af0b64fcfcd5e096e454ff3fb088ea47dcd98ab3","scripts":{"web":"vite","lint":"eslint \"**/*.{js,ts,tsx}\"","test":"jest","clean":"del-cli android/build example/android/build example/android/app/build example/ios/build lib","example":"yarn workspace react-native-beacon-example","prepare":"bob build","release":"semantic-release --dry-run","build:web":"vite build","typecheck":"tsc"},"_npmUser":{"name":"joncodeofficial","email":"granj215@gmail.com"},"prettier":{"useTabs":false,"tabWidth":2,"quoteProps":"consistent","singleQuote":true,"trailingComma":"es5"},"repository":{"url":"git+https://github.com/joncodeofficial/react-native-beacon-kit.git","type":"git"},"workspaces":["example"],"_npmVersion":"11.12.1","description":"iBeacon & AltBeacon for React Native — New Architecture (TurboModules + JSI) with real background scanning.","directories":{},"_nodeVersion":"22.20.0","dependencies":{"@expo/config-plugins":"^55.0.8"},"codegenConfig":{"name":"BeaconSpec","type":"modules","android":{"javaPackageName":"com.reactnativebeacon"},"jsSrcsDir":"src"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"yarn@4.11.0","devDependencies":{"jest":"^30.3.0","react":"19.2.0","turbo":"^2.8.21","eslint":"^9.39.4","del-cli":"^7.0.0","lefthook":"^2.1.4","prettier":"^3.8.1","@eslint/js":"^10.0.1","commitlint":"^20.5.0","typescript":"^6.0.2","@types/react":"^19.2.0","react-native":"0.83.0","@jest/globals":"^30.0.0","@eslint/compat":"^2.0.3","@eslint/eslintrc":"^3.3.5","react-native-web":"~0.21.1","semantic-release":"^25.0.3","react-test-renderer":"19.2.0","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","eslint-plugin-ft-flow":"^3.0.11","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.6","react-native-builder-bob":"^0.41.0","@react-native/babel-preset":"0.83.0","@react-native/eslint-config":"0.83.0","@semantic-release/changelog":"^6.0.3","@testing-library/react-native":"^13.3.3","@commitlint/config-conventional":"^20.5.0","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/release-notes-generator":"^14.1.0"},"peerDependencies":{"react":"*","react-native":"*"},"_npmOperationalInternal":{"tmp":"tmp/react-native-beacon-kit_0.7.0_1776165910891_0.05279732411897542","host":"s3://npm-registry-packages-npm-production"},"react-native-builder-bob":{"output":"lib","source":"src","targets":[["module",{"esm":true}],["typescript",{"project":"tsconfig.build.json"}]]},"create-react-native-library":{"type":"turbo-module","tools":["lefthook","release-it","vite","jest","eslint"],"version":"0.59.0","languages":"kotlin-objc"}},"0.7.1":{"name":"react-native-beacon-kit","version":"0.7.1","keywords":["react-native","beacon","ibeacon","altbeacon","ble","bluetooth","bluetooth beacon","react-native-beacon","react-native-beacons","react native beacon","background scanning","turbo modules","new architecture","indoor positioning","proximity","ios","android","expo"],"author":{"url":"https://github.com/joncodeofficial","name":"joncodeofficial","email":"gran_200014@hotmail.com"},"license":"MIT","_id":"react-native-beacon-kit@0.7.1","maintainers":[{"name":"joncodeofficial","email":"granj215@gmail.com"}],"homepage":"https://github.com/joncodeofficial/react-native-beacon-kit#readme","bugs":{"url":"https://github.com/joncodeofficial/react-native-beacon-kit/issues"},"dist":{"shasum":"1ebf3edca6543cf47dcacd24430f5ae02721f413","tarball":"https://registry.npmjs.org/react-native-beacon-kit/-/react-native-beacon-kit-0.7.1.tgz","fileCount":87,"integrity":"sha512-sjGwbRxCnr6xBIdYEMSofg3PaTDJT3nYS/+lqim6ZHYv0hK+ZUhZYU2jheb4o9uXGvwz1XSnlweF7y0BJJ8S5g==","signatures":[{"sig":"MEYCIQCL4R8ZFZ1p+l9vsetU0zOh2CuAml8RZBHi4HL0n0d5dAIhAPdUF0Teu5LSd/ZQZeczb9Kjj8kEhUOLn1cpNevAO08O","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":186409},"jest":{"preset":"react-native","modulePathIgnorePatterns":["<rootDir>/example/node_modules","<rootDir>/lib/"]},"main":"./lib/commonjs/index.js","types":"./lib/typescript/module/src/index.d.ts","module":"./lib/module/index.js","exports":{".":{"import":{"types":"./lib/typescript/module/src/index.d.ts","default":"./lib/module/index.js"},"source":"./src/index.tsx","require":{"types":"./lib/typescript/commonjs/src/index.d.ts","default":"./lib/commonjs/index.js"}},"./package.json":"./package.json"},"gitHead":"631603272e3be3b683d966e61c7a908aeb88bbdb","scripts":{"web":"vite","lint":"eslint \"**/*.{js,ts,tsx}\"","test":"jest","clean":"del-cli android/build example/android/build example/android/app/build example/ios/build lib","example":"yarn workspace react-native-beacon-example","prepare":"bob build","release":"semantic-release --dry-run","build:web":"vite build","typecheck":"tsc"},"_npmUser":{"name":"joncodeofficial","email":"granj215@gmail.com"},"prettier":{"useTabs":false,"tabWidth":2,"quoteProps":"consistent","singleQuote":true,"trailingComma":"es5"},"repository":{"url":"git+https://github.com/joncodeofficial/react-native-beacon-kit.git","type":"git"},"workspaces":["example"],"_npmVersion":"11.12.1","description":"iBeacon & AltBeacon for React Native — New Architecture (TurboModules + JSI) with real background scanning.","directories":{},"_nodeVersion":"22.20.0","dependencies":{"@expo/config-plugins":"^55.0.8"},"codegenConfig":{"name":"BeaconSpec","type":"modules","android":{"javaPackageName":"com.reactnativebeacon"},"jsSrcsDir":"src"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"yarn@4.11.0","devDependencies":{"jest":"^30.3.0","react":"19.2.0","turbo":"^2.8.21","eslint":"^9.39.4","del-cli":"^7.0.0","lefthook":"^2.1.4","prettier":"^3.8.1","@eslint/js":"^10.0.1","commitlint":"^20.5.0","typescript":"^6.0.2","@types/react":"^19.2.0","react-native":"0.83.0","@jest/globals":"^30.0.0","@eslint/compat":"^2.0.3","@eslint/eslintrc":"^3.3.5","react-native-web":"~0.21.1","semantic-release":"^25.0.3","react-test-renderer":"19.2.0","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","eslint-plugin-ft-flow":"^3.0.11","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.6","react-native-builder-bob":"^0.41.0","@react-native/babel-preset":"0.83.0","@react-native/eslint-config":"0.83.0","@semantic-release/changelog":"^6.0.3","@testing-library/react-native":"^13.3.3","@commitlint/config-conventional":"^20.5.0","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/release-notes-generator":"^14.1.0"},"peerDependencies":{"react":"*","react-native":"*"},"_npmOperationalInternal":{"tmp":"tmp/react-native-beacon-kit_0.7.1_1776436335641_0.08573505541992676","host":"s3://npm-registry-packages-npm-production"},"react-native-builder-bob":{"output":"lib","source":"src","targets":[["commonjs"],["module",{"esm":true}],["typescript",{"project":"tsconfig.build.json"}]]},"create-react-native-library":{"type":"turbo-module","tools":["lefthook","release-it","vite","jest","eslint"],"version":"0.59.0","languages":"kotlin-objc"}},"0.7.2":{"name":"react-native-beacon-kit","version":"0.7.2","keywords":["react-native","beacon","ibeacon","altbeacon","ble","bluetooth","bluetooth beacon","react-native-beacon","react-native-beacons","react native beacon","background scanning","turbo modules","new architecture","indoor positioning","proximity","ios","android","expo"],"author":{"url":"https://github.com/joncodeofficial","name":"joncodeofficial","email":"gran_200014@hotmail.com"},"license":"MIT","_id":"react-native-beacon-kit@0.7.2","maintainers":[{"name":"joncodeofficial","email":"granj215@gmail.com"}],"homepage":"https://github.com/joncodeofficial/react-native-beacon-kit#readme","bugs":{"url":"https://github.com/joncodeofficial/react-native-beacon-kit/issues"},"dist":{"shasum":"2771927106ea7f7bd92fbdb1e06639338a3d7de0","tarball":"https://registry.npmjs.org/react-native-beacon-kit/-/react-native-beacon-kit-0.7.2.tgz","fileCount":87,"integrity":"sha512-tf8Y8X52C7yu/BX0dxuwfSyvSJyu2wu/8sIbVIf7bry27xwxFQ8lxdO7W/cyv/694dneoZsO9Mx9SAzz6HGS8w==","signatures":[{"sig":"MEQCICqVnmXd8lcq4k3BtQ6IQcHtVZoA/8cirMcoxNyTKO2kAiAfMnfbTJb36TzBisDH54XH1lvU4DKJceDMYmP97O8OKA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":192782},"jest":{"preset":"react-native","modulePathIgnorePatterns":["<rootDir>/example/node_modules","<rootDir>/lib/"]},"main":"./lib/commonjs/index.js","types":"./lib/typescript/module/src/index.d.ts","module":"./lib/module/index.js","exports":{".":{"import":{"types":"./lib/typescript/module/src/index.d.ts","default":"./lib/module/index.js"},"source":"./src/index.tsx","require":{"types":"./lib/typescript/commonjs/src/index.d.ts","default":"./lib/commonjs/index.js"}},"./package.json":"./package.json"},"gitHead":"802778c3f8efab49a4070f66b1c554bf7b29965e","scripts":{"web":"vite","lint":"eslint \"**/*.{js,ts,tsx}\"","test":"jest","clean":"del-cli android/build example/android/build example/android/app/build example/ios/build lib","example":"yarn workspace react-native-beacon-example","prepare":"bob build","release":"semantic-release --dry-run","build:web":"vite build","typecheck":"tsc"},"_npmUser":{"name":"joncodeofficial","email":"granj215@gmail.com"},"prettier":{"useTabs":false,"tabWidth":2,"quoteProps":"consistent","singleQuote":true,"trailingComma":"es5"},"repository":{"url":"git+https://github.com/joncodeofficial/react-native-beacon-kit.git","type":"git"},"workspaces":["example"],"_npmVersion":"11.12.1","description":"iBeacon & AltBeacon for React Native — New Architecture (TurboModules + JSI) with real background scanning.","directories":{},"_nodeVersion":"22.20.0","dependencies":{"@expo/config-plugins":"^55.0.8"},"codegenConfig":{"name":"BeaconSpec","type":"modules","android":{"javaPackageName":"com.reactnativebeacon"},"jsSrcsDir":"src"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"yarn@4.11.0","devDependencies":{"jest":"^30.3.0","react":"19.2.0","turbo":"^2.8.21","eslint":"^9.39.4","del-cli":"^7.0.0","lefthook":"^2.1.4","prettier":"^3.8.1","@eslint/js":"^10.0.1","commitlint":"^20.5.0","typescript":"^6.0.2","@types/react":"^19.2.0","react-native":"0.83.0","@jest/globals":"^30.0.0","@eslint/compat":"^2.0.3","@eslint/eslintrc":"^3.3.5","react-native-web":"~0.21.1","semantic-release":"^25.0.3","react-test-renderer":"19.2.0","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","eslint-plugin-ft-flow":"^3.0.11","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.6","react-native-builder-bob":"^0.41.0","@react-native/babel-preset":"0.83.0","@react-native/eslint-config":"0.83.0","@semantic-release/changelog":"^6.0.3","@testing-library/react-native":"^13.3.3","@commitlint/config-conventional":"^20.5.0","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/release-notes-generator":"^14.1.0"},"peerDependencies":{"react":"*","react-native":"*"},"_npmOperationalInternal":{"tmp":"tmp/react-native-beacon-kit_0.7.2_1776437555073_0.5185415060361813","host":"s3://npm-registry-packages-npm-production"},"react-native-builder-bob":{"output":"lib","source":"src","targets":[["commonjs"],["module",{"esm":true}],["typescript",{"project":"tsconfig.build.json"}]]},"create-react-native-library":{"type":"turbo-module","tools":["lefthook","release-it","vite","jest","eslint"],"version":"0.59.0","languages":"kotlin-objc"}},"0.7.3":{"name":"react-native-beacon-kit","version":"0.7.3","keywords":["react-native","beacon","ibeacon","altbeacon","ble","bluetooth","bluetooth beacon","react-native-beacon","react-native-beacons","react native beacon","background scanning","turbo modules","new architecture","indoor positioning","proximity","ios","android","expo"],"author":{"url":"https://github.com/joncodeofficial","name":"joncodeofficial","email":"gran_200014@hotmail.com"},"license":"MIT","_id":"react-native-beacon-kit@0.7.3","maintainers":[{"name":"joncodeofficial","email":"granj215@gmail.com"}],"homepage":"https://github.com/joncodeofficial/react-native-beacon-kit#readme","bugs":{"url":"https://github.com/joncodeofficial/react-native-beacon-kit/issues"},"dist":{"shasum":"c74aa1d0f2542876fb3b8237a934fa4e959aaba9","tarball":"https://registry.npmjs.org/react-native-beacon-kit/-/react-native-beacon-kit-0.7.3.tgz","fileCount":87,"integrity":"sha512-FCeaG7yhThvMw+wNutBS3oQwcZNB7wXhXev5n7bLg8w7Ar6kvqhM5vdvCJwPcu164xdLQEG5pAteH4Hv9kp9Eg==","signatures":[{"sig":"MEUCIAe08agbTrf1e6mjJhQeziDrLxoe3tF6GwD0T1eeMyRiAiEAjETXgBbHJjmS2SCjzM0Es6BjGBeczb4KdwPs8Z8nhGM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":196042},"jest":{"preset":"react-native","modulePathIgnorePatterns":["<rootDir>/example/node_modules","<rootDir>/lib/"]},"main":"./lib/commonjs/index.js","types":"./lib/typescript/module/src/index.d.ts","module":"./lib/module/index.js","exports":{".":{"import":{"types":"./lib/typescript/module/src/index.d.ts","default":"./lib/module/index.js"},"source":"./src/index.tsx","require":{"types":"./lib/typescript/commonjs/src/index.d.ts","default":"./lib/commonjs/index.js"}},"./package.json":"./package.json"},"gitHead":"5a859fa11ca92d14d6063a009e08c899b1445a7d","scripts":{"web":"vite","lint":"eslint \"**/*.{js,ts,tsx}\"","test":"jest","clean":"del-cli android/build example/android/build example/android/app/build example/ios/build lib","example":"yarn workspace react-native-beacon-example","prepare":"bob build","release":"semantic-release --dry-run","build:web":"vite build","typecheck":"tsc"},"_npmUser":{"name":"joncodeofficial","email":"granj215@gmail.com"},"prettier":{"useTabs":false,"tabWidth":2,"quoteProps":"consistent","singleQuote":true,"trailingComma":"es5"},"repository":{"url":"git+https://github.com/joncodeofficial/react-native-beacon-kit.git","type":"git"},"workspaces":["example"],"_npmVersion":"11.12.1","description":"iBeacon & AltBeacon for React Native — New Architecture (TurboModules + JSI) with real background scanning.","directories":{},"_nodeVersion":"22.20.0","dependencies":{"@expo/config-plugins":"^55.0.8"},"codegenConfig":{"name":"BeaconSpec","type":"modules","android":{"javaPackageName":"com.reactnativebeacon"},"jsSrcsDir":"src"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"yarn@4.11.0","devDependencies":{"jest":"^30.3.0","react":"19.2.0","turbo":"^2.8.21","eslint":"^9.39.4","del-cli":"^7.0.0","lefthook":"^2.1.4","prettier":"^3.8.1","@eslint/js":"^10.0.1","commitlint":"^20.5.0","typescript":"^6.0.2","@types/react":"^19.2.0","react-native":"0.83.0","@jest/globals":"^30.0.0","@eslint/compat":"^2.0.3","@eslint/eslintrc":"^3.3.5","react-native-web":"~0.21.1","semantic-release":"^25.0.3","react-test-renderer":"19.2.0","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","eslint-plugin-ft-flow":"^3.0.11","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.6","react-native-builder-bob":"^0.41.0","@react-native/babel-preset":"0.83.0","@react-native/eslint-config":"0.83.0","@semantic-release/changelog":"^6.0.3","@testing-library/react-native":"^13.3.3","@commitlint/config-conventional":"^20.5.0","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/release-notes-generator":"^14.1.0"},"peerDependencies":{"react":"*","react-native":"*"},"_npmOperationalInternal":{"tmp":"tmp/react-native-beacon-kit_0.7.3_1776985741241_0.9953250908617157","host":"s3://npm-registry-packages-npm-production"},"react-native-builder-bob":{"output":"lib","source":"src","targets":[["commonjs"],["module",{"esm":true}],["typescript",{"project":"tsconfig.build.json"}]]},"create-react-native-library":{"type":"turbo-module","tools":["lefthook","release-it","vite","jest","eslint"],"version":"0.59.0","languages":"kotlin-objc"}},"0.8.0":{"name":"react-native-beacon-kit","version":"0.8.0","keywords":["react-native","beacon","ibeacon","altbeacon","ble","bluetooth","bluetooth beacon","react-native-beacon","react-native-beacons","react native beacon","background scanning","turbo modules","new architecture","indoor positioning","proximity","ios","android","expo"],"author":{"url":"https://github.com/joncodeofficial","name":"joncodeofficial","email":"gran_200014@hotmail.com"},"license":"MIT","_id":"react-native-beacon-kit@0.8.0","maintainers":[{"name":"joncodeofficial","email":"granj215@gmail.com"}],"homepage":"https://github.com/joncodeofficial/react-native-beacon-kit#readme","bugs":{"url":"https://github.com/joncodeofficial/react-native-beacon-kit/issues"},"dist":{"shasum":"ce201d935d72d608e6a2582a5fb598ff79a7ab3a","tarball":"https://registry.npmjs.org/react-native-beacon-kit/-/react-native-beacon-kit-0.8.0.tgz","fileCount":96,"integrity":"sha512-dwm0gmLZn+4ro+14vpLhjLxkIX9SmHiBDzojWG0m6MfJF1gxSU8P8YfevxRVxFzJLR2pHpMBNZjC1AG14QGsww==","signatures":[{"sig":"MEQCIBBLQ33HFX4lJQ7cxmMT2uuagmllctBssXgoZiA7qRNkAiBT4o3jjhvF+gB50AnSPCpVynVs4m8zWvdAUJQuQ9sV2g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":218845},"jest":{"preset":"react-native","modulePathIgnorePatterns":["<rootDir>/example/node_modules","<rootDir>/lib/"]},"main":"./lib/commonjs/index.js","types":"./lib/typescript/module/src/index.d.ts","module":"./lib/module/index.js","exports":{".":{"import":{"types":"./lib/typescript/module/src/index.d.ts","default":"./lib/module/index.js"},"source":"./src/index.tsx","require":{"types":"./lib/typescript/commonjs/src/index.d.ts","default":"./lib/commonjs/index.js"}},"./package.json":"./package.json"},"gitHead":"82ccb702ff407448c4c98a2fa4acf635c209e537","scripts":{"web":"vite","lint":"eslint \"**/*.{js,ts,tsx}\"","test":"jest","clean":"del-cli android/build example/android/build example/android/app/build example/ios/build lib","example":"yarn workspace react-native-beacon-example","prepare":"bob build","release":"semantic-release --dry-run","build:web":"vite build","typecheck":"tsc"},"_npmUser":{"name":"joncodeofficial","email":"granj215@gmail.com"},"prettier":{"useTabs":false,"tabWidth":2,"quoteProps":"consistent","singleQuote":true,"trailingComma":"es5"},"repository":{"url":"git+https://github.com/joncodeofficial/react-native-beacon-kit.git","type":"git"},"workspaces":["example"],"_npmVersion":"11.12.1","description":"iBeacon & AltBeacon for React Native — New Architecture (TurboModules + JSI) with real background scanning.","directories":{},"_nodeVersion":"22.20.0","dependencies":{"@expo/config-plugins":"^55.0.8"},"codegenConfig":{"name":"BeaconSpec","type":"modules","android":{"javaPackageName":"com.reactnativebeacon"},"jsSrcsDir":"src"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"yarn@4.11.0","devDependencies":{"jest":"^30.3.0","react":"19.2.0","turbo":"^2.8.21","eslint":"^9.39.4","del-cli":"^7.0.0","lefthook":"^2.1.4","prettier":"^3.8.1","@eslint/js":"^10.0.1","commitlint":"^20.5.0","typescript":"^6.0.2","@types/react":"^19.2.0","react-native":"0.83.0","@jest/globals":"^30.0.0","@eslint/compat":"^2.0.3","@eslint/eslintrc":"^3.3.5","react-native-web":"~0.21.1","semantic-release":"^25.0.3","react-test-renderer":"19.2.0","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","eslint-plugin-ft-flow":"^3.0.11","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.6","react-native-builder-bob":"^0.41.0","@react-native/babel-preset":"0.83.0","@react-native/eslint-config":"0.83.0","@semantic-release/changelog":"^6.0.3","@testing-library/react-native":"^13.3.3","@commitlint/config-conventional":"^20.5.0","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/release-notes-generator":"^14.1.0"},"peerDependencies":{"react":"*","react-native":"*"},"_npmOperationalInternal":{"tmp":"tmp/react-native-beacon-kit_0.8.0_1777152239000_0.631843271910489","host":"s3://npm-registry-packages-npm-production"},"react-native-builder-bob":{"output":"lib","source":"src","targets":[["commonjs"],["module",{"esm":true}],["typescript",{"project":"tsconfig.build.json"}]]},"create-react-native-library":{"type":"turbo-module","tools":["lefthook","release-it","vite","jest","eslint"],"version":"0.59.0","languages":"kotlin-objc"}},"0.8.1":{"name":"react-native-beacon-kit","version":"0.8.1","keywords":["react-native","beacon","ibeacon","altbeacon","ble","bluetooth","bluetooth beacon","react-native-beacon","react-native-beacons","react native beacon","background scanning","turbo modules","new architecture","indoor positioning","proximity","ios","android","expo"],"author":{"url":"https://github.com/joncodeofficial","name":"joncodeofficial","email":"gran_200014@hotmail.com"},"license":"MIT","_id":"react-native-beacon-kit@0.8.1","maintainers":[{"name":"joncodeofficial","email":"granj215@gmail.com"}],"homepage":"https://github.com/joncodeofficial/react-native-beacon-kit#readme","bugs":{"url":"https://github.com/joncodeofficial/react-native-beacon-kit/issues"},"dist":{"shasum":"7e2699f13a340d7058ded9f661151378b69fd419","tarball":"https://registry.npmjs.org/react-native-beacon-kit/-/react-native-beacon-kit-0.8.1.tgz","fileCount":105,"integrity":"sha512-mDqphBzuIyO4QlJLwdCbkYSrchffSyzq0WHqs1W5J3rJ4C3KohPYo9T4XhBgHGDlhYsGxthuscqnOwqA2/lOeQ==","signatures":[{"sig":"MEUCIDpElQVUPHYHJ3Fi3cgkJ28iWpfL5FV9gnKMUj7Pk5C0AiEAphvgrgpc+xoQBCq8RxYulsEC2JrFo03cY0AOet4o29g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":226293},"jest":{"preset":"react-native","modulePathIgnorePatterns":["<rootDir>/example/node_modules","<rootDir>/lib/"]},"main":"./lib/commonjs/index.js","types":"./lib/typescript/module/src/index.d.ts","module":"./lib/module/index.js","exports":{".":{"import":{"types":"./lib/typescript/module/src/index.d.ts","default":"./lib/module/index.js"},"source":"./src/index.ts","require":{"types":"./lib/typescript/commonjs/src/index.d.ts","default":"./lib/commonjs/index.js"}},"./package.json":"./package.json"},"gitHead":"beaf1b1867fc4ff28674d9c2eba9534bc80db022","scripts":{"web":"vite","lint":"eslint \"**/*.{js,ts,tsx}\"","test":"jest","clean":"del-cli android/build example/android/build example/android/app/build example/ios/build lib","example":"yarn workspace react-native-beacon-example","prepare":"bob build","release":"semantic-release --dry-run","build:web":"vite build","typecheck":"tsc"},"_npmUser":{"name":"joncodeofficial","email":"granj215@gmail.com"},"prettier":{"useTabs":false,"tabWidth":2,"quoteProps":"consistent","singleQuote":true,"trailingComma":"es5"},"repository":{"url":"git+https://github.com/joncodeofficial/react-native-beacon-kit.git","type":"git"},"workspaces":["example"],"_npmVersion":"11.12.1","description":"iBeacon & AltBeacon for React Native — New Architecture (TurboModules + JSI) with real background scanning.","directories":{},"_nodeVersion":"22.20.0","dependencies":{"@expo/config-plugins":"^55.0.8"},"codegenConfig":{"name":"BeaconSpec","type":"modules","android":{"javaPackageName":"com.reactnativebeacon"},"jsSrcsDir":"src"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"yarn@4.11.0","devDependencies":{"jest":"^30.3.0","react":"19.2.0","turbo":"^2.8.21","eslint":"^9.39.4","del-cli":"^7.0.0","lefthook":"^2.1.4","prettier":"^3.8.1","@eslint/js":"^10.0.1","commitlint":"^20.5.0","typescript":"^6.0.2","@types/react":"^19.2.0","react-native":"0.83.0","@jest/globals":"^30.0.0","@eslint/compat":"^2.0.3","@eslint/eslintrc":"^3.3.5","react-native-web":"~0.21.1","semantic-release":"^25.0.3","react-test-renderer":"19.2.0","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","eslint-plugin-ft-flow":"^3.0.11","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.6","react-native-builder-bob":"^0.41.0","@react-native/babel-preset":"0.83.0","@react-native/eslint-config":"0.83.0","@semantic-release/changelog":"^6.0.3","@testing-library/react-native":"^13.3.3","@commitlint/config-conventional":"^20.5.0","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/release-notes-generator":"^14.1.0"},"peerDependencies":{"react":"*","react-native":"*"},"_npmOperationalInternal":{"tmp":"tmp/react-native-beacon-kit_0.8.1_1777662144719_0.25013711416492845","host":"s3://npm-registry-packages-npm-production"},"react-native-builder-bob":{"output":"lib","source":"src","targets":[["commonjs"],["module",{"esm":true}],["typescript",{"project":"tsconfig.build.json"}]]},"create-react-native-library":{"type":"turbo-module","tools":["lefthook","release-it","vite","jest","eslint"],"version":"0.59.0","languages":"kotlin-objc"}},"0.9.0":{"name":"react-native-beacon-kit","version":"0.9.0","keywords":["react-native","beacon","ibeacon","altbeacon","ble","bluetooth","bluetooth beacon","react-native-beacon","react-native-beacons","react native beacon","background scanning","turbo modules","new architecture","indoor positioning","proximity","ios","android","expo"],"author":{"url":"https://github.com/joncodeofficial","name":"joncodeofficial","email":"gran_200014@hotmail.com"},"license":"MIT","_id":"react-native-beacon-kit@0.9.0","maintainers":[{"name":"joncodeofficial","email":"granj215@gmail.com"}],"homepage":"https://github.com/joncodeofficial/react-native-beacon-kit#readme","bugs":{"url":"https://github.com/joncodeofficial/react-native-beacon-kit/issues"},"dist":{"shasum":"287fce15024c0ff550a63bd2ae179cb8bc6d4672","tarball":"https://registry.npmjs.org/react-native-beacon-kit/-/react-native-beacon-kit-0.9.0.tgz","fileCount":105,"integrity":"sha512-h56iePcW8Nv4f4lki0XElS+82FR8451lXb5kY9U+q2fRxG4wGY+0D3igjjutDYqMGSycuDzM2DfEN/wU9yp36g==","signatures":[{"sig":"MEQCIG6kxzpubIK1cLYsUHjT3o17PnHEB7yIkIjB9CuSL3qlAiA64kUetkZJcrKDqccjFwqm0FAB4xgJrpPD6tJz0qH+jg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":229948},"jest":{"preset":"react-native","modulePathIgnorePatterns":["<rootDir>/example/node_modules","<rootDir>/lib/"]},"main":"./lib/commonjs/index.js","types":"./lib/typescript/module/src/index.d.ts","module":"./lib/module/index.js","exports":{".":{"import":{"types":"./lib/typescript/module/src/index.d.ts","default":"./lib/module/index.js"},"source":"./src/index.ts","require":{"types":"./lib/typescript/commonjs/src/index.d.ts","default":"./lib/commonjs/index.js"}},"./package.json":"./package.json"},"gitHead":"066d19dd37eb3dcb1c0e463646c6de1da4bc6b2a","scripts":{"web":"vite","lint":"eslint \"**/*.{js,ts,tsx}\"","test":"jest","clean":"del-cli android/build example/android/build example/android/app/build example/ios/build lib","example":"yarn workspace react-native-beacon-example","prepare":"bob build","release":"semantic-release --dry-run","build:web":"vite build","typecheck":"tsc"},"_npmUser":{"name":"joncodeofficial","email":"granj215@gmail.com"},"prettier":{"useTabs":false,"tabWidth":2,"quoteProps":"consistent","singleQuote":true,"trailingComma":"es5"},"repository":{"url":"git+https://github.com/joncodeofficial/react-native-beacon-kit.git","type":"git"},"workspaces":["example"],"_npmVersion":"11.12.1","description":"iBeacon & AltBeacon for React Native — New Architecture (TurboModules + JSI) with real background scanning.","directories":{},"_nodeVersion":"22.20.0","dependencies":{"@expo/config-plugins":"^55.0.8"},"codegenConfig":{"name":"BeaconSpec","type":"modules","android":{"javaPackageName":"com.reactnativebeacon"},"jsSrcsDir":"src"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"yarn@4.11.0","devDependencies":{"jest":"^30.3.0","react":"19.2.0","turbo":"^2.8.21","eslint":"^9.39.4","del-cli":"^7.0.0","lefthook":"^2.1.4","prettier":"^3.8.1","@eslint/js":"^10.0.1","commitlint":"^20.5.0","typescript":"^6.0.2","@types/react":"^19.2.0","react-native":"0.83.0","@jest/globals":"^30.0.0","@eslint/compat":"^2.0.3","@eslint/eslintrc":"^3.3.5","react-native-web":"~0.21.1","semantic-release":"^25.0.3","react-test-renderer":"19.2.0","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","eslint-plugin-ft-flow":"^3.0.11","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@semantic-release/github":"^12.0.6","react-native-builder-bob":"^0.41.0","@react-native/babel-preset":"0.83.0","@react-native/eslint-config":"0.83.0","@semantic-release/changelog":"^6.0.3","@testing-library/react-native":"^13.3.3","@commitlint/config-conventional":"^20.5.0","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/release-notes-generator":"^14.1.0"},"peerDependencies":{"react":"*","react-native":"*"},"_npmOperationalInternal":{"tmp":"tmp/react-native-beacon-kit_0.9.0_1777664752113_0.6929489532186541","host":"s3://npm-registry-packages-npm-production"},"react-native-builder-bob":{"output":"lib","source":"src","targets":[["commonjs"],["module",{"esm":true}],["typescript",{"project":"tsconfig.build.json"}]]},"create-react-native-library":{"type":"turbo-module","tools":["lefthook","release-it","vite","jest","eslint"],"version":"0.59.0","languages":"kotlin-objc"}},"0.10.0":{"name":"react-native-beacon-kit","version":"0.10.0","keywords":["react-native","beacon","ibeacon","altbeacon","ble","bluetooth","bluetooth beacon","react-native-beacon","react-native-beacons","react native beacon","background scanning","turbo modules","new architecture","indoor positioning","proximity","ios","android","expo"],"author":{"url":"https://github.com/joncodeofficial","name":"joncodeofficial","email":"gran_200014@hotmail.com"},"license":"MIT","_id":"react-native-beacon-kit@0.10.0","maintainers":[{"name":"joncodeofficial","email":"granj215@gmail.com"}],"homepage":"https://github.com/joncodeofficial/react-native-beacon-kit#readme","bugs":{"url":"https://github.com/joncodeofficial/react-native-beacon-kit/issues"},"dist":{"shasum":"ef9037a86e62d8424220632f1033de85f870e265","tarball":"https://registry.npmjs.org/react-native-beacon-kit/-/react-native-beacon-kit-0.10.0.tgz","fileCount":145,"integrity":"sha512-08U5EmLTDSzYRW1vMbv0d9YpQCdNfyBlsULhfU5y40enmqqwWj1iAK1XguWxQIwqcDZEiGE+/cOXtYzeRR9S3A==","signatures":[{"sig":"MEUCIGYPcnemEQjUTStyA/vqAS4EGR8fX+LlXWQp5oh/vX/UAiEAsVjAxdYDrcJki/+u2zRJ+/j9InBgtj03zyS38TIrQMA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":281816},"jest":{"preset":"react-native","modulePathIgnorePatterns":["<rootDir>/example/node_modules","<rootDir>/lib/"]},"main":"./lib/commonjs/index.js","types":"./lib/typescript/module/src/index.d.ts","module":"./lib/module/index.js","exports":{".":{"import":{"types":"./lib/typescript/module/src/index.d.ts","default":"./lib/module/index.js"},"source":"./src/index.ts","require":{"types":"./lib/typescript/commonjs/src/index.d.ts","default":"./lib/commonjs/index.js"}},"./package.json":"./package.json"},"gitHead":"3f7051cbb489f298c9cb705604e1d2188a418226","scripts":{"web":"vite","lint":"eslint \"**/*.{js,ts,tsx}\"","test":"jest","clean":"del-cli android/build example/android/build example/android/app/build example/ios/build lib","example":"yarn workspace react-native-beacon-example","prepare":"bob build","release":"semantic-release --dry-run","build:web":"vite build","typecheck":"tsc"},"_npmUser":{"name":"joncodeofficial","email":"granj215@gmail.com"},"prettier":{"useTabs":false,"tabWidth":2,"quoteProps":"consistent","singleQuote":true,"trailingComma":"es5"},"repository":{"url":"git+https://github.com/joncodeofficial/react-native-beacon-kit.git","type":"git"},"workspaces":["example"],"_npmVersion":"11.12.1","description":"iBeacon & AltBeacon for React Native — New Architecture (TurboModules + JSI) with real background scanning.","directories":{},"_nodeVersion":"22.20.0","dependencies":{"@expo/config-plugins":"^55.0.10"},"codegenConfig":{"name":"BeaconSpec","type":"modules","android":{"javaPackageName":"com.reactnativebeacon"},"jsSrcsDir":"src"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"yarn@4.11.0","devDependencies":{"jest":"30.3.0","react":"19.2.6","turbo":"^2.9.16","eslint":"^9.39.4","del-cli":"^7.0.0","lefthook":"^2.1.9","prettier":"^3.8.3","@eslint/js":"^10.0.1","commitlint":"^20.5.3","typescript":"^6.0.3","@types/react":"^19.2.15","react-native":"0.83.9","@jest/globals":"30.3.0","@eslint/compat":"^2.1.0","@eslint/eslintrc":"^3.3.5","react-native-web":"~0.21.2","semantic-release":"^25.0.3","react-test-renderer":"19.2.6","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","eslint-plugin-ft-flow":"^3.0.11","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.6","@semantic-release/github":"^12.0.8","react-native-builder-bob":"^0.41.0","@react-native/babel-preset":"0.83.9","@react-native/eslint-config":"0.83.9","@semantic-release/changelog":"^6.0.3","@testing-library/react-native":"^13.3.3","@commitlint/config-conventional":"^20.5.3","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/release-notes-generator":"^14.1.1"},"peerDependencies":{"react":"*","react-native":"*"},"_npmOperationalInternal":{"tmp":"tmp/react-native-beacon-kit_0.10.0_1780102283621_0.44114353129307027","host":"s3://npm-registry-packages-npm-production"},"react-native-builder-bob":{"output":"lib","source":"src","targets":[["commonjs"],["module",{"esm":true}],["typescript",{"project":"tsconfig.build.json"}]]},"create-react-native-library":{"type":"turbo-module","tools":["lefthook","release-it","vite","jest","eslint"],"version":"0.59.0","languages":"kotlin-objc"}},"0.10.1":{"name":"react-native-beacon-kit","version":"0.10.1","keywords":["react-native","beacon","ibeacon","altbeacon","ble","bluetooth","bluetooth beacon","react-native-beacon","react-native-beacons","react native beacon","background scanning","beacon ranging","beacon monitoring","turbo modules","turbomodule","new architecture","jsi","indoor positioning","proximity","location","ios","android","expo","expo plugin"],"author":{"url":"https://github.com/joncodeofficial","name":"joncodeofficial","email":"gran_200014@hotmail.com"},"license":"MIT","_id":"react-native-beacon-kit@0.10.1","maintainers":[{"name":"joncodeofficial","email":"granj215@gmail.com"}],"homepage":"https://github.com/joncodeofficial/react-native-beacon-kit#readme","bugs":{"url":"https://github.com/joncodeofficial/react-native-beacon-kit/issues"},"dist":{"shasum":"4c56a75a510701abeffac9008138029f32a3e276","tarball":"https://registry.npmjs.org/react-native-beacon-kit/-/react-native-beacon-kit-0.10.1.tgz","fileCount":145,"integrity":"sha512-PoJwnwt2PhHFfgzhnjJ8djMoYRKGrwCYADpqmhU6Z03gkSPJMH4Pd5RMlT1yW2pbjUV07WAjsrqfA3qhRZsDyA==","signatures":[{"sig":"MEUCIFrWgdd6OARJP/SRAtci7bTd4oXCpoMhLRr8cHcb9G1gAiEAhkOHq95DwSsXx6uUHRs83bpWqHcb9zRkYGUYNVBosg0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":285317},"jest":{"preset":"react-native","modulePathIgnorePatterns":["<rootDir>/example/node_modules","<rootDir>/lib/"]},"main":"./lib/commonjs/index.js","types":"./lib/typescript/module/src/index.d.ts","module":"./lib/module/index.js","exports":{".":{"import":{"types":"./lib/typescript/module/src/index.d.ts","default":"./lib/module/index.js"},"source":"./src/index.ts","require":{"types":"./lib/typescript/commonjs/src/index.d.ts","default":"./lib/commonjs/index.js"}},"./package.json":"./package.json"},"gitHead":"01b5b7ee6a1f54adcba44c22be0bea9a3824361f","scripts":{"web":"vite","lint":"eslint \"**/*.{js,ts,tsx}\"","test":"jest","clean":"del-cli android/build example/android/build example/android/app/build example/ios/build lib","example":"yarn workspace react-native-beacon-example","prepare":"bob build","release":"semantic-release --dry-run","build:web":"vite build","typecheck":"tsc"},"_npmUser":{"name":"joncodeofficial","email":"granj215@gmail.com"},"prettier":{"useTabs":false,"tabWidth":2,"quoteProps":"consistent","singleQuote":true,"trailingComma":"es5"},"repository":{"url":"git+https://github.com/joncodeofficial/react-native-beacon-kit.git","type":"git"},"workspaces":["example"],"_npmVersion":"11.12.1","description":"iBeacon & AltBeacon ranging and monitoring for React Native — New Architecture (TurboModules + JSI) with real background scanning on iOS and Android.","directories":{},"_nodeVersion":"22.20.0","dependencies":{"@expo/config-plugins":"^55.0.10"},"codegenConfig":{"name":"BeaconSpec","type":"modules","android":{"javaPackageName":"com.reactnativebeacon"},"jsSrcsDir":"src"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"yarn@4.11.0","devDependencies":{"jest":"30.3.0","react":"19.2.6","turbo":"^2.9.16","eslint":"^9.39.4","del-cli":"^7.0.0","lefthook":"^2.1.9","prettier":"^3.8.3","@eslint/js":"^10.0.1","commitlint":"^20.5.3","typescript":"^6.0.3","@types/react":"^19.2.15","react-native":"0.83.9","@jest/globals":"30.3.0","@eslint/compat":"^2.1.0","@eslint/eslintrc":"^3.3.5","react-native-web":"~0.21.2","semantic-release":"^25.0.3","react-test-renderer":"19.2.6","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","eslint-plugin-ft-flow":"^3.0.11","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.6","@semantic-release/github":"^12.0.8","react-native-builder-bob":"^0.41.0","@react-native/babel-preset":"0.83.9","@react-native/eslint-config":"0.83.9","@semantic-release/changelog":"^6.0.3","@testing-library/react-native":"^13.3.3","@commitlint/config-conventional":"^20.5.3","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/release-notes-generator":"^14.1.1"},"peerDependencies":{"react":"*","react-native":"*"},"_npmOperationalInternal":{"tmp":"tmp/react-native-beacon-kit_0.10.1_1781820149343_0.8149586412041665","host":"s3://npm-registry-packages-npm-production"},"react-native-builder-bob":{"output":"lib","source":"src","targets":[["commonjs"],["module",{"esm":true}],["typescript",{"project":"tsconfig.build.json"}]]},"create-react-native-library":{"type":"turbo-module","tools":["lefthook","release-it","vite","jest","eslint"],"version":"0.59.0","languages":"kotlin-objc"}},"0.10.2":{"name":"react-native-beacon-kit","version":"0.10.2","keywords":["react-native","beacon","ibeacon","altbeacon","ble","bluetooth","bluetooth beacon","react-native-beacon","react-native-beacons","react native beacon","background scanning","beacon ranging","beacon monitoring","turbo modules","turbomodule","new architecture","jsi","indoor positioning","proximity","location","ios","android","expo","expo plugin","eddystone","eddystone-uid"],"author":{"url":"https://github.com/joncodeofficial","name":"joncodeofficial","email":"gran_200014@hotmail.com"},"license":"MIT","_id":"react-native-beacon-kit@0.10.2","maintainers":[{"name":"joncodeofficial","email":"granj215@gmail.com"}],"homepage":"https://github.com/joncodeofficial/react-native-beacon-kit#readme","bugs":{"url":"https://github.com/joncodeofficial/react-native-beacon-kit/issues"},"dist":{"shasum":"dd1581886ca6ed09127eb3a3471d8bd0510881d6","tarball":"https://registry.npmjs.org/react-native-beacon-kit/-/react-native-beacon-kit-0.10.2.tgz","fileCount":145,"integrity":"sha512-uAABRlyxo/Do+g7/ThdhDGSJdNERv5wBgA+LiokD3gscJM0TSC4L4G7bjekgtj6Kj8hM3gFIwrIIa4nDum10Rg==","signatures":[{"sig":"MEUCIFZ6ou22X1CzLjT/532WVe63xWGhlfoyHvJtT6zjCCfnAiEA3xd5HdffecZWbWpOBT68lJTah9o3A1UhKBVyKzXCdi0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":290869},"jest":{"preset":"react-native","modulePathIgnorePatterns":["<rootDir>/examples/cli/node_modules","<rootDir>/examples/expo/node_modules","<rootDir>/lib/"]},"main":"./lib/commonjs/index.js","types":"./lib/typescript/module/src/index.d.ts","module":"./lib/module/index.js","exports":{".":{"import":{"types":"./lib/typescript/module/src/index.d.ts","default":"./lib/module/index.js"},"source":"./src/index.ts","require":{"types":"./lib/typescript/commonjs/src/index.d.ts","default":"./lib/commonjs/index.js"}},"./package.json":"./package.json","./app.plugin.js":"./app.plugin.js"},"gitHead":"84b05978c189ed9427246e58ad0e53beb9aace8c","scripts":{"web":"vite","lint":"eslint \"**/*.{js,ts,tsx}\"","test":"jest","clean":"del-cli android/build examples/cli/android/build examples/cli/android/app/build examples/cli/ios/build lib","prepare":"bob build","release":"semantic-release --dry-run","build:web":"vite build","typecheck":"tsc","example:cli":"yarn workspace react-native-beacon-example","example:expo":"yarn workspace react-native-beacon-example-expo"},"_npmUser":{"name":"joncodeofficial","email":"granj215@gmail.com"},"prettier":{"useTabs":false,"tabWidth":2,"quoteProps":"consistent","singleQuote":true,"trailingComma":"es5"},"repository":{"url":"git+https://github.com/joncodeofficial/react-native-beacon-kit.git","type":"git"},"workspaces":["examples/cli","examples/expo"],"_npmVersion":"11.12.1","description":"iBeacon & AltBeacon ranging and monitoring for React Native — New Architecture (TurboModules + JSI) with real background scanning on iOS and Android.","directories":{},"_nodeVersion":"22.20.0","dependencies":{"@expo/config-plugins":"^55.0.10"},"codegenConfig":{"name":"BeaconSpec","type":"modules","android":{"javaPackageName":"com.reactnativebeacon"},"jsSrcsDir":"src"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"yarn@4.11.0","devDependencies":{"jest":"30.3.0","react":"19.2.6","turbo":"^2.9.16","eslint":"^9.39.4","del-cli":"^7.0.0","lefthook":"^2.1.9","prettier":"^3.8.3","@eslint/js":"^10.0.1","commitlint":"^20.5.3","typescript":"^6.0.3","@types/react":"^19.2.15","react-native":"0.83.9","@jest/globals":"30.3.0","@eslint/compat":"^2.1.0","@eslint/eslintrc":"^3.3.5","react-native-web":"~0.21.2","semantic-release":"^25.0.3","react-test-renderer":"19.2.6","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","eslint-plugin-ft-flow":"^3.0.11","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.6","@semantic-release/github":"^12.0.8","react-native-builder-bob":"^0.41.0","@react-native/babel-preset":"0.83.9","@react-native/eslint-config":"0.83.9","@semantic-release/changelog":"^6.0.3","@testing-library/react-native":"^13.3.3","@commitlint/config-conventional":"^20.5.3","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/release-notes-generator":"^14.1.1"},"peerDependencies":{"react":"*","react-native":"*"},"_npmOperationalInternal":{"tmp":"tmp/react-native-beacon-kit_0.10.2_1783810392861_0.573472491608872","host":"s3://npm-registry-packages-npm-production"},"react-native-builder-bob":{"output":"lib","source":"src","targets":[["commonjs"],["module",{"esm":true}],["typescript",{"project":"tsconfig.build.json"}]]},"create-react-native-library":{"type":"turbo-module","tools":["lefthook","release-it","vite","jest","eslint"],"version":"0.59.0","languages":"kotlin-objc"}},"0.11.0":{"name":"react-native-beacon-kit","version":"0.11.0","keywords":["react-native","beacon","ibeacon","altbeacon","ble","bluetooth","bluetooth beacon","react-native-beacon","react-native-beacons","react native beacon","background scanning","beacon ranging","beacon monitoring","turbo modules","turbomodule","new architecture","jsi","indoor positioning","proximity","location","ios","android","expo","expo plugin","eddystone","eddystone-uid"],"author":{"url":"https://github.com/joncodeofficial","name":"joncodeofficial","email":"gran_200014@hotmail.com"},"license":"MIT","_id":"react-native-beacon-kit@0.11.0","maintainers":[{"name":"joncodeofficial","email":"granj215@gmail.com"}],"homepage":"https://github.com/joncodeofficial/react-native-beacon-kit#readme","bugs":{"url":"https://github.com/joncodeofficial/react-native-beacon-kit/issues"},"dist":{"shasum":"f2878e974e9c4df83eb9858b5a46f418b65c9013","tarball":"https://registry.npmjs.org/react-native-beacon-kit/-/react-native-beacon-kit-0.11.0.tgz","fileCount":145,"integrity":"sha512-V35/qXfcRUObAVE96BRtosicdRLG04ADJTqUwft/HdoRTkXd86m0U7MlEo4tfzYaZLn5sWY8oS03dZQVP3m6SQ==","signatures":[{"sig":"MEYCIQD7QeIggpyHmCtThNpLMXl1I7HYhToNXEj9Fup6TA7gJgIhAJA34Ao2pJ9o2JZ8J+bjr+G9Hg2FLsMJHXIxXFX7MmbJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":294534},"jest":{"preset":"react-native","modulePathIgnorePatterns":["<rootDir>/examples/cli/node_modules","<rootDir>/examples/expo/node_modules","<rootDir>/lib/"]},"main":"./lib/commonjs/index.js","types":"./lib/typescript/module/src/index.d.ts","module":"./lib/module/index.js","exports":{".":{"import":{"types":"./lib/typescript/module/src/index.d.ts","default":"./lib/module/index.js"},"source":"./src/index.ts","require":{"types":"./lib/typescript/commonjs/src/index.d.ts","default":"./lib/commonjs/index.js"}},"./package.json":"./package.json","./app.plugin.js":"./app.plugin.js"},"gitHead":"cef036f9681ced6801651bf76fab2f8941d187aa","scripts":{"web":"vite","lint":"eslint \"**/*.{js,ts,tsx}\"","test":"jest","clean":"del-cli android/build examples/cli/android/build examples/cli/android/app/build examples/cli/ios/build lib","prepare":"bob build","release":"semantic-release --dry-run","build:web":"vite build","typecheck":"tsc","example:cli":"yarn workspace react-native-beacon-example","example:expo":"yarn workspace react-native-beacon-example-expo"},"_npmUser":{"name":"joncodeofficial","email":"granj215@gmail.com"},"prettier":{"useTabs":false,"tabWidth":2,"quoteProps":"consistent","singleQuote":true,"trailingComma":"es5"},"repository":{"url":"git+https://github.com/joncodeofficial/react-native-beacon-kit.git","type":"git"},"workspaces":["examples/cli","examples/expo"],"_npmVersion":"11.12.1","description":"iBeacon & AltBeacon ranging and monitoring for React Native — New Architecture (TurboModules + JSI) with real background scanning on iOS and Android.","directories":{},"_nodeVersion":"22.20.0","dependencies":{"@expo/config-plugins":"^55.0.10"},"codegenConfig":{"name":"BeaconSpec","type":"modules","android":{"javaPackageName":"com.reactnativebeacon"},"jsSrcsDir":"src"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"yarn@4.11.0","devDependencies":{"jest":"30.3.0","react":"19.2.6","turbo":"^2.9.16","eslint":"^9.39.4","del-cli":"^7.0.0","lefthook":"^2.1.9","prettier":"^3.8.3","@eslint/js":"^10.0.1","commitlint":"^20.5.3","typescript":"^6.0.3","@types/react":"^19.2.15","react-native":"0.83.9","@jest/globals":"30.3.0","@eslint/compat":"^2.1.0","@eslint/eslintrc":"^3.3.5","react-native-web":"~0.21.2","semantic-release":"^25.0.3","react-test-renderer":"19.2.6","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","eslint-plugin-ft-flow":"^3.0.11","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.6","@semantic-release/github":"^12.0.8","react-native-builder-bob":"^0.41.0","@react-native/babel-preset":"0.83.9","@react-native/eslint-config":"0.83.9","@semantic-release/changelog":"^6.0.3","@testing-library/react-native":"^13.3.3","@commitlint/config-conventional":"^20.5.3","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/release-notes-generator":"^14.1.1"},"peerDependencies":{"react":"*","react-native":"*"},"_npmOperationalInternal":{"tmp":"tmp/react-native-beacon-kit_0.11.0_1783817595846_0.056409588823171486","host":"s3://npm-registry-packages-npm-production"},"react-native-builder-bob":{"output":"lib","source":"src","targets":[["commonjs"],["module",{"esm":true}],["typescript",{"project":"tsconfig.build.json"}]]},"create-react-native-library":{"type":"turbo-module","tools":["lefthook","release-it","vite","jest","eslint"],"version":"0.59.0","languages":"kotlin-objc"}},"0.11.1":{"name":"react-native-beacon-kit","version":"0.11.1","keywords":["react-native","beacon","ibeacon","altbeacon","ble","bluetooth","bluetooth beacon","react-native-beacon","react-native-beacons","react native beacon","background scanning","beacon ranging","beacon monitoring","turbo modules","turbomodule","new architecture","jsi","indoor positioning","proximity","location","ios","android","expo","expo plugin","eddystone","eddystone-uid"],"author":{"url":"https://github.com/joncodeofficial","name":"joncodeofficial","email":"gran_200014@hotmail.com"},"license":"MIT","_id":"react-native-beacon-kit@0.11.1","maintainers":[{"name":"joncodeofficial","email":"granj215@gmail.com"}],"homepage":"https://github.com/joncodeofficial/react-native-beacon-kit#readme","bugs":{"url":"https://github.com/joncodeofficial/react-native-beacon-kit/issues"},"dist":{"shasum":"1e6712a04a2559be39d004363334ba3de6fdb4d7","tarball":"https://registry.npmjs.org/react-native-beacon-kit/-/react-native-beacon-kit-0.11.1.tgz","fileCount":145,"integrity":"sha512-H2WGwf2Lfs7CQU1cdCCIpjzRwZ+hs4NWFGoFJ9byR1E1SFk9rIn6vtHSkpT0iYCXH5I61bgB0BdygX94/AKR0w==","signatures":[{"sig":"MEUCIGPVE9/NJedswWbLBK4TnLr1PWyXuPKTtTgqUKht9ZrKAiEA3Sce+bB/tV5I8FXXvbavEjYas1B/fleEnIwk/PC0qQ4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":298588},"jest":{"preset":"react-native","modulePathIgnorePatterns":["<rootDir>/examples/cli/node_modules","<rootDir>/examples/expo/node_modules","<rootDir>/lib/"]},"main":"./lib/commonjs/index.js","types":"./lib/typescript/module/src/index.d.ts","module":"./lib/module/index.js","exports":{".":{"import":{"types":"./lib/typescript/module/src/index.d.ts","default":"./lib/module/index.js"},"source":"./src/index.ts","require":{"types":"./lib/typescript/commonjs/src/index.d.ts","default":"./lib/commonjs/index.js"}},"./package.json":"./package.json","./app.plugin.js":"./app.plugin.js"},"gitHead":"37b152ee48b7434e6eed81d01b949e917ea5cb46","scripts":{"web":"vite","lint":"eslint \"**/*.{js,ts,tsx}\"","test":"jest","clean":"del-cli android/build examples/cli/android/build examples/cli/android/app/build examples/cli/ios/build lib","prepare":"bob build","release":"semantic-release --dry-run","build:web":"vite build","typecheck":"tsc","example:cli":"yarn workspace react-native-beacon-example","example:expo":"yarn workspace react-native-beacon-example-expo"},"_npmUser":{"name":"joncodeofficial","email":"granj215@gmail.com"},"prettier":{"useTabs":false,"tabWidth":2,"quoteProps":"consistent","singleQuote":true,"trailingComma":"es5"},"repository":{"url":"git+https://github.com/joncodeofficial/react-native-beacon-kit.git","type":"git"},"workspaces":["examples/cli","examples/expo"],"_npmVersion":"11.12.1","description":"iBeacon & AltBeacon ranging and monitoring for React Native — New Architecture (TurboModules + JSI) with real background scanning on iOS and Android.","directories":{},"_nodeVersion":"22.20.0","dependencies":{"@expo/config-plugins":"^55.0.10"},"codegenConfig":{"name":"BeaconSpec","type":"modules","android":{"javaPackageName":"com.reactnativebeacon"},"jsSrcsDir":"src"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"yarn@4.11.0","devDependencies":{"jest":"30.3.0","react":"19.2.6","turbo":"^2.9.16","eslint":"^9.39.4","del-cli":"^7.0.0","lefthook":"^2.1.9","prettier":"^3.8.3","@eslint/js":"^10.0.1","commitlint":"^20.5.3","typescript":"^6.0.3","@types/react":"^19.2.15","react-native":"0.83.9","@jest/globals":"30.3.0","@eslint/compat":"^2.1.0","@eslint/eslintrc":"^3.3.5","react-native-web":"~0.21.2","semantic-release":"^25.0.3","react-test-renderer":"19.2.6","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.5","eslint-plugin-ft-flow":"^3.0.11","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.6","@semantic-release/github":"^12.0.8","react-native-builder-bob":"^0.41.0","@react-native/babel-preset":"0.83.9","@react-native/eslint-config":"0.83.9","@semantic-release/changelog":"^6.0.3","@testing-library/react-native":"^13.3.3","@commitlint/config-conventional":"^20.5.3","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/release-notes-generator":"^14.1.1"},"peerDependencies":{"react":"*","react-native":"*"},"_npmOperationalInternal":{"tmp":"tmp/react-native-beacon-kit_0.11.1_1784156491553_0.6207758903650515","host":"s3://npm-registry-packages-npm-production"},"react-native-builder-bob":{"output":"lib","source":"src","targets":[["commonjs"],["module",{"esm":true}],["typescript",{"project":"tsconfig.build.json"}]]},"create-react-native-library":{"type":"turbo-module","tools":["lefthook","release-it","vite","jest","eslint"],"version":"0.59.0","languages":"kotlin-objc"}},"0.12.0":{"name":"react-native-beacon-kit","version":"0.12.0","description":"iBeacon & AltBeacon ranging and monitoring for React Native — New Architecture (TurboModules + JSI) with real background scanning on iOS and Android.","main":"./lib/commonjs/index.js","module":"./lib/module/index.js","types":"./lib/typescript/module/src/index.d.ts","exports":{".":{"source":"./src/index.ts","import":{"types":"./lib/typescript/module/src/index.d.ts","default":"./lib/module/index.js"},"require":{"types":"./lib/typescript/commonjs/src/index.d.ts","default":"./lib/commonjs/index.js"}},"./app.plugin.js":"./app.plugin.js","./package.json":"./package.json"},"scripts":{"example:cli":"yarn workspace react-native-beacon-example","example:expo":"yarn workspace react-native-beacon-example-expo","clean":"del-cli android/build examples/cli/android/build examples/cli/android/app/build examples/cli/ios/build lib","prepare":"bob build","typecheck":"tsc","release":"semantic-release --dry-run","web":"vite","build:web":"vite build","test":"jest","lint":"eslint \"**/*.{js,ts,tsx}\""},"keywords":["react-native","beacon","ibeacon","altbeacon","ble","bluetooth","bluetooth beacon","react-native-beacon","react-native-beacons","react native beacon","background scanning","beacon ranging","beacon monitoring","turbo modules","turbomodule","new architecture","jsi","indoor positioning","proximity","location","ios","android","expo","expo plugin","eddystone","eddystone-uid"],"repository":{"type":"git","url":"git+https://github.com/joncodeofficial/react-native-beacon-kit.git"},"author":{"name":"joncodeofficial","email":"gran_200014@hotmail.com","url":"https://github.com/joncodeofficial"},"license":"MIT","bugs":{"url":"https://github.com/joncodeofficial/react-native-beacon-kit/issues"},"homepage":"https://github.com/joncodeofficial/react-native-beacon-kit#readme","publishConfig":{"registry":"https://registry.npmjs.org/"},"dependencies":{"@expo/config-plugins":"^55.0.10"},"devDependencies":{"@commitlint/config-conventional":"^20.5.3","@eslint/compat":"^2.1.0","@eslint/eslintrc":"^3.3.6","@eslint/js":"^10.0.1","@jest/globals":"30.3.0","@react-native/babel-preset":"0.83.9","@react-native/eslint-config":"0.83.9","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/git":"^10.0.1","@semantic-release/github":"^12.0.9","@semantic-release/npm":"^13.1.5","@semantic-release/release-notes-generator":"^14.1.1","@testing-library/react-native":"^13.3.3","@types/react":"^19.2.18","commitlint":"^20.5.3","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":"30.3.0","lefthook":"^2.1.10","prettier":"^3.9.6","react":"19.2.6","react-native":"0.83.9","react-native-builder-bob":"^0.41.0","react-native-web":"~0.21.2","react-test-renderer":"19.2.6","semantic-release":"^25.0.9","turbo":"^2.10.11","typescript":"^6.0.3"},"peerDependencies":{"react":"*","react-native":"*"},"workspaces":["examples/cli","examples/expo"],"packageManager":"yarn@4.11.0","react-native-builder-bob":{"source":"src","output":"lib","targets":[["commonjs"],["module",{"esm":true}],["typescript",{"project":"tsconfig.build.json"}]]},"codegenConfig":{"name":"BeaconSpec","type":"modules","jsSrcsDir":"src","android":{"javaPackageName":"com.reactnativebeacon"}},"jest":{"preset":"react-native","modulePathIgnorePatterns":["<rootDir>/examples/cli/node_modules","<rootDir>/examples/expo/node_modules","<rootDir>/lib/"]},"prettier":{"quoteProps":"consistent","singleQuote":true,"tabWidth":2,"trailingComma":"es5","useTabs":false},"create-react-native-library":{"type":"turbo-module","languages":"kotlin-objc","tools":["lefthook","release-it","vite","jest","eslint"],"version":"0.59.0"},"gitHead":"6b600048d45479dac1448810563b5791ca0b8ca7","_id":"react-native-beacon-kit@0.12.0","_nodeVersion":"22.20.0","_npmVersion":"11.12.1","dist":{"integrity":"sha512-LwhiXSk+5PvACY1l3QLoyU1emdjls2ORHfxB1bdBbfpokozqxj6lxNNpis+tqt3oGpiwc9uz2EQEUHc+nKwpQQ==","shasum":"99c9a7bb6d51dce0af81c7577808bf5322efe713","tarball":"https://registry.npmjs.org/react-native-beacon-kit/-/react-native-beacon-kit-0.12.0.tgz","fileCount":146,"unpackedSize":314310,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIA/88c7IJlrDVAJlAREtL25LUhmOL4X/tBVT79V1et59AiEAmE5V1iyYGOugTrXBPdJualkBkoXphSP9okmNb0ofJ10="}]},"_npmUser":{"name":"joncodeofficial","email":"granj215@gmail.com"},"directories":{},"maintainers":[{"name":"joncodeofficial","email":"granj215@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/react-native-beacon-kit_0.12.0_1787509861300_0.5002598545212655"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-09T05:01:43.193Z","modified":"2026-08-23T18:31:01.625Z","0.1.0":"2026-04-09T05:01:43.338Z","0.1.1":"2026-04-09T05:04:20.637Z","0.1.2":"2026-04-09T05:31:31.488Z","0.1.3":"2026-04-09T05:49:34.084Z","0.2.0":"2026-04-12T22:18:18.232Z","0.3.0":"2026-04-12T23:21:23.302Z","0.3.1":"2026-04-13T19:32:11.676Z","0.4.0":"2026-04-13T20:37:41.438Z","0.4.1":"2026-04-13T20:43:28.005Z","0.5.0":"2026-04-13T21:36:09.437Z","0.6.0":"2026-04-13T22:11:04.015Z","0.6.1":"2026-04-13T22:49:36.018Z","0.6.2":"2026-04-13T23:01:41.193Z","0.6.3":"2026-04-14T10:33:53.005Z","0.7.0":"2026-04-14T11:25:11.027Z","0.7.1":"2026-04-17T14:32:15.873Z","0.7.2":"2026-04-17T14:52:35.303Z","0.7.3":"2026-04-23T23:09:01.385Z","0.8.0":"2026-04-25T21:23:59.158Z","0.8.1":"2026-05-01T19:02:24.866Z","0.9.0":"2026-05-01T19:45:52.310Z","0.10.0":"2026-05-30T00:51:23.854Z","0.10.1":"2026-06-18T22:02:29.525Z","0.10.2":"2026-07-11T22:53:12.993Z","0.11.0":"2026-07-12T00:53:15.976Z","0.11.1":"2026-07-15T23:01:31.701Z","0.12.0":"2026-08-23T18:31:01.446Z"},"bugs":{"url":"https://github.com/joncodeofficial/react-native-beacon-kit/issues"},"author":{"name":"joncodeofficial","email":"gran_200014@hotmail.com","url":"https://github.com/joncodeofficial"},"license":"MIT","homepage":"https://github.com/joncodeofficial/react-native-beacon-kit#readme","keywords":["react-native","beacon","ibeacon","altbeacon","ble","bluetooth","bluetooth beacon","react-native-beacon","react-native-beacons","react native beacon","background scanning","beacon ranging","beacon monitoring","turbo modules","turbomodule","new architecture","jsi","indoor positioning","proximity","location","ios","android","expo","expo plugin","eddystone","eddystone-uid"],"repository":{"type":"git","url":"git+https://github.com/joncodeofficial/react-native-beacon-kit.git"},"description":"iBeacon & AltBeacon ranging and monitoring for React Native — New Architecture (TurboModules + JSI) with real background scanning on iOS and Android.","maintainers":[{"name":"joncodeofficial","email":"granj215@gmail.com"}],"readme":"# react-native-beacon-kit\n\niBeacon, AltBeacon, and Eddystone-UID for React Native with a hooks-first API, New Architecture support, and real Android background scanning.\n\n> **Platform support:** Android and iOS\n\n[![npm](https://img.shields.io/npm/v/react-native-beacon-kit)](https://www.npmjs.com/package/react-native-beacon-kit)\n[![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)\n![Platform](https://img.shields.io/badge/platform-Android%20%7C%20iOS-lightgrey)\n![New Architecture](https://img.shields.io/badge/New%20Architecture-supported-brightgreen)\n\n- ✅ Hooks-first API (`useBeaconRanging`, `useBeaconMonitoring`, `useMonitorThenRange`)\n- ✅ New Architecture (Fabric) ready\n- ✅ Expo plugin included\n- ✅ Real Android background scanning via foreground service\n- ✅ Android 14+ and 16 KB page size (Android 15+) support\n- ✅ iBeacon, AltBeacon, and Eddystone-UID\n- ✅ Kalman filter for stable distance readings\n- ✅ Environment diagnostics built in\n\n## Why this library\n\nMost beacon libraries for React Native are unmaintained or broken on modern Android and iOS. This library was built to fill that gap.\n\n| Feature | react-native-beacon-kit | react-native-beacons-manager |\n| ------- | ----------------------- | ---------------------------- |\n| Actively maintained | ✅ | ❌ Last updated 3+ years ago |\n| New Architecture (Fabric) | ✅ | ❌ |\n| Expo plugin | ✅ | ❌ |\n| Hooks-first API | ✅ | ❌ Event listeners only |\n| Android 14+ support | ✅ | ❌ |\n| Android 16 KB page size (Android 15+) | ✅ | ❌ |\n| Real Android background scanning | ✅ Foreground service | ⚠️ Unreliable |\n| Eddystone-UID | ✅ Android | ❌ |\n| Environment diagnostics | ✅ | ❌ |\n| Kalman filter for distance | ✅ | ❌ |\n\n## When to use each API\n\n| API                       | Use it when                                                        |\n| ------------------------- | ------------------------------------------------------------------ |\n| `useBeaconRanging()`      | You want nearby iBeacon/AltBeacon readings, RSSI, and distance     |\n| `useBeaconMonitoring()`   | You only need `inside` / `outside` region state                    |\n| `useMonitorThenRange()`   | You want monitoring to wake the flow, then range only while inside |\n| `useEddystoneRanging()`   | You want nearby Eddystone-UID readings on Android                  |\n| `Beacon.*`                | You need custom orchestration or a non-React flow                  |\n\nIf you are building a screen in React, start with the hooks API.\n\n## Installation\n\n### React Native (bare)\n\n```sh\nnpm install react-native-beacon-kit\n```\n\nThen for iOS:\n\n```sh\ncd ios && pod install\n```\n\n### Expo bare workflow\n\n```sh\nnpx expo install react-native-beacon-kit\n```\n\nAdd the plugin to your `app.json` or `app.config.js`:\n\n```json\n{\n  \"expo\": {\n    \"plugins\": [\"react-native-beacon-kit\"]\n  }\n}\n```\n\nOptional iOS background location capability:\n\n```json\n{\n  \"expo\": {\n    \"plugins\": [\n      [\n        \"react-native-beacon-kit\",\n        {\n          \"iosBackgroundLocation\": true\n        }\n      ]\n    ]\n  }\n}\n```\n\nThen run prebuild to apply the native changes and install iOS pods:\n\n```sh\nnpx expo prebuild\n```\n\nThe plugin automatically adds the required Android permissions, iOS `Info.plist` usage strings, and — if `iosBackgroundLocation` is enabled — the background location mode. It does not request runtime permissions for you.\n\n## Quick start (High-level API)\n\n### Requesting permissions\n\nCall this before starting the scanner. Uses [react-native-permissions](https://github.com/zoontek/react-native-permissions):\n\n```sh\nnpm install react-native-permissions\n```\n\n```ts\nimport { Platform } from 'react-native';\nimport { request, PERMISSIONS } from 'react-native-permissions';\n\nasync function requestPermissions() {\n  if (Platform.OS === 'android') {\n    await request(PERMISSIONS.ANDROID.ACCESS_FINE_LOCATION);\n    if (Platform.Version >= 31) {\n      await request(PERMISSIONS.ANDROID.BLUETOOTH_SCAN);\n      await request(PERMISSIONS.ANDROID.BLUETOOTH_CONNECT);\n    }\n  } else {\n    await request(PERMISSIONS.IOS.LOCATION_WHEN_IN_USE);\n  }\n}\n```\n\nFor background scanning or notification permissions, see [Platform setup](#platform-setup).\n\n> [!NOTE]\n> This helper doesn't check the result of `request()` — it resolves the same way whether the user grants or denies. Before calling `Beacon.configure()` / `start()` in production, check `Beacon.checkPermissions()` (or the result of `request()`) and handle the denied case explicitly.\n\n### Minimal ranging example\n\nThis is the shortest useful flow for most apps:\n\n1. Mount the hook\n2. Request permissions\n3. Call `Beacon.configure()`\n4. Call `start()`\n\n```ts\nimport { Platform } from 'react-native';\nimport { request, PERMISSIONS } from 'react-native-permissions';\nimport { useCallback } from 'react';\nimport { Button, Text, View } from 'react-native';\nimport Beacon, { useBeaconRanging } from 'react-native-beacon-kit';\n\nasync function requestPermissions() {\n  if (Platform.OS === 'android') {\n    await request(PERMISSIONS.ANDROID.ACCESS_FINE_LOCATION);\n    if (Platform.Version >= 31) {\n      await request(PERMISSIONS.ANDROID.BLUETOOTH_SCAN);\n      await request(PERMISSIONS.ANDROID.BLUETOOTH_CONNECT);\n    }\n  } else {\n    await request(PERMISSIONS.IOS.LOCATION_WHEN_IN_USE);\n  }\n}\n\nconst region = {\n  identifier: 'store',\n  uuid: 'FDA50693-A4E2-4FB1-AFCF-C6EB07647825',\n};\n\nexport const BeaconScreen = () => {\n  const { beacons, error, isActive, start, stop } = useBeaconRanging({\n    region,\n  });\n\n  const handleStart = useCallback(async () => {\n    try {\n      await requestPermissions();\n\n      // Configure the native scanner before starting it.\n      Beacon.configure({\n        scanPeriod: 1100,\n        backgroundScanPeriod: 10000,\n        betweenScanPeriod: 0,\n      });\n\n      await start();\n    } catch (error) {\n      console.warn('[beacon] start failed', error);\n    }\n  }, [start]);\n\n  return (\n    <View>\n      <Text>Detected beacons: {beacons.length}</Text>\n      {error ? <Text>{error.message}</Text> : null}\n      <Button\n        title={isActive ? 'Stop' : 'Start'}\n        onPress={isActive ? stop : handleStart}\n      />\n    </View>\n  );\n};\n```\n\nThis shows the smallest useful flow. In a real app, you will usually centralize\npermissions and `Beacon.configure()` at the app level, then use hooks inside\nscreens.\n\n> [!IMPORTANT]\n> On Android SDK 34+, call `Beacon.configure({ foregroundService: true })` only after permissions are granted. Calling it too early can throw a `SecurityException` on a fresh install.\n\n## Recommended app-level setup\n\nFor apps with multiple screens or shared beacon behavior, do permissions and\ninitial configuration once at the app level, then let screens use the hooks.\n\n```ts\nimport { useEffect } from 'react';\nimport Beacon from 'react-native-beacon-kit';\n\nexport const App = () => {\n  useEffect(() => {\n    const setup = async () => {\n      await requestPermissions();\n\n      Beacon.configure({\n        scanPeriod: 1100,\n        backgroundScanPeriod: 10000,\n        betweenScanPeriod: 0,\n        foregroundService: true,\n        foregroundServiceNotification: {\n          title: 'My App',\n          text: 'Scanning for beacons...',\n        },\n      });\n    };\n\n    setup().catch((error) => {\n      console.warn('[beacon] app setup failed', error);\n    });\n  }, []);\n\n  return <Screens />;\n};\n```\n\nFor fuller working examples, see the apps in this repository:\n\n- [React Native CLI example](https://github.com/joncodeofficial/react-native-beacon-kit/tree/main/examples/cli)\n- [Expo example](https://github.com/joncodeofficial/react-native-beacon-kit/tree/main/examples/expo)\n\n### Low-level API equivalent\n\nUse this style if you need manual orchestration outside the hooks.\n\n```ts\nimport { useCallback, useEffect, useState } from 'react';\nimport { Button, Text, View } from 'react-native';\nimport Beacon from 'react-native-beacon-kit';\n\nconst region = {\n  identifier: 'store',\n  uuid: 'FDA50693-A4E2-4FB1-AFCF-C6EB07647825',\n};\n\nexport const BeaconScreen = () => {\n  const [beacons, setBeacons] = useState([]);\n  const [error, setError] = useState<string | null>(null);\n  const [isActive, setIsActive] = useState(false);\n\n  useEffect(() => {\n    const rangingSub = Beacon.onBeaconsRanged((event) => {\n      if (event.region.identifier !== region.identifier) return;\n      setError(null);\n      setBeacons(event.beacons);\n    });\n\n    const failureSub = Beacon.onRangingFailed((event) => {\n      if (event.region?.identifier !== region.identifier) return;\n      setError(event.message);\n    });\n\n    return () => {\n      rangingSub.remove();\n      failureSub.remove();\n    };\n  }, []);\n\n  const handleStart = useCallback(async () => {\n    try {\n      await requestPermissions();\n      Beacon.configure({\n        scanPeriod: 1100,\n        backgroundScanPeriod: 10000,\n        betweenScanPeriod: 0,\n      });\n      await Beacon.startRanging(region);\n      setIsActive(true);\n    } catch (error) {\n      console.warn('[beacon] start failed', error);\n    }\n  }, []);\n\n  const handleStop = useCallback(async () => {\n    await Beacon.stopRanging(region);\n    setBeacons([]);\n    setIsActive(false);\n  }, []);\n\n  return (\n    <View>\n      <Text>Detected beacons: {beacons.length}</Text>\n      {error ? <Text>{error}</Text> : null}\n      <Button\n        title={isActive ? 'Stop' : 'Start'}\n        onPress={isActive ? handleStop : handleStart}\n      />\n    </View>\n  );\n};\n```\n\n## Platform setup\n\nThe library declares native permissions, but runtime permission requests are your responsibility.\n\n### Android\n\nUse [react-native-permissions](https://github.com/zoontek/react-native-permissions) or your own runtime flow.\n\n| Permission                    | When required                               |\n| ----------------------------- | ------------------------------------------- |\n| `ACCESS_FINE_LOCATION`        | Always                                      |\n| `ACCESS_BACKGROUND_LOCATION`  | Android 10+ background scanning             |\n| `BLUETOOTH_SCAN`              | Android 12+                                 |\n| `BLUETOOTH_CONNECT`           | Android 12+                                 |\n| `FOREGROUND_SERVICE`          | Android background scanning                 |\n| `FOREGROUND_SERVICE_LOCATION` | Android 14+ location foreground service     |\n| `POST_NOTIFICATIONS`          | Android 13+ foreground service notification |\n\nImportant notes:\n\n- `ACCESS_BACKGROUND_LOCATION` must be requested separately at runtime\n- on Android 13+, `POST_NOTIFICATIONS` should be requested at runtime too\n- background scanning requires `foregroundService: true`\n\n### iOS\n\nIf you are using the Expo plugin, these keys are added automatically by `npx expo prebuild`. No manual changes to `Info.plist` are needed.\n\nIf you are configuring iOS manually, add these keys to `Info.plist`:\n\n```xml\n<key>NSLocationAlwaysAndWhenInUseUsageDescription</key>\n<string>This app uses your location to detect nearby beacons.</string>\n<key>NSLocationWhenInUseUsageDescription</key>\n<string>This app uses your location to detect nearby beacons.</string>\n```\n\nFor background region monitoring, enable **Location updates** in your target's Background Modes capability. If you are using the Expo plugin, set `iosBackgroundLocation: true` instead and let prebuild handle it.\n\n## Platform behavior and limits\n\n### Android\n\n- Real background scanning requires `foregroundService: true`\n- OEM power management can still affect reliability with the screen off\n- If you need the strongest background behavior on restrictive devices, see [Advanced Android](#advanced-android)\n\n**Behavior by API level:**\n\n| API level | What changes |\n| --------- | ------------ |\n| Android 10 (API 29) | `ACCESS_BACKGROUND_LOCATION` must be requested separately at runtime |\n| Android 12 (API 31) | `BLUETOOTH_SCAN` and `BLUETOOTH_CONNECT` are required in addition to location |\n| Android 13 (API 33) | `POST_NOTIFICATIONS` required to show the foreground service notification |\n| Android 14 (API 34) | `FOREGROUND_SERVICE_LOCATION` required for location-type foreground services; calling `configure({ foregroundService: true })` before permissions are granted throws a `SecurityException` |\n\n### iOS\n\n- Continuous background ranging is not supported\n- Use monitoring to wake the app, then start ranging during the available execution window\n- Android-only options such as `foregroundService`, `aggressiveBackground`, `scanPeriod`, `backgroundScanPeriod`, and `betweenScanPeriod` are ignored on iOS\n- **Region limit:** CoreLocation allows a maximum of 20 simultaneously monitored regions per app. If you register more than 20, iOS silently drops the extras. Prefer fewer, broader regions where possible.\n- **Simulator:** the iOS Simulator does not have Bluetooth hardware. You need a physical device to scan for beacons.\n\nTypical iOS background pattern:\n\n```ts\nBeacon.startMonitoring({ identifier: 'my-region', uuid: '...' });\n\nconst sub = Beacon.onRegionStateChanged(({ state }) => {\n  if (state === 'inside') {\n    Beacon.startRanging({ identifier: 'my-region', uuid: '...' });\n  }\n});\n```\n\n### Beacon identification: UUID vs MAC address\n\nAlways use the iBeacon/AltBeacon triplet (`uuid:major:minor`, or\n`namespace:instance` for Eddystone) as your primary identifier — it works\nacross both platforms and beacon types.\n\n`macAddress` reliability depends on what's advertising:\n\n| Source                                  | MAC address                            |\n| ---------------------------------------- | --------------------------------------- |\n| Hardware beacons (dedicated BLE devices) | ✅ Stable — fixed at manufacture         |\n| Android 10+ phone acting as a beacon    | ⚠️ Randomized — rotates periodically     |\n| iOS (any source)                        | ❌ Unavailable — OS privacy restriction  |\n\nMAC randomization is a property of the *advertiser*, not the scanner — your\nphone just reports whatever MAC the beacon is broadcasting. Dedicated beacon\nhardware almost never rotates its MAC, since the whole point of a beacon is\nto be reliably identifiable. Use `macAddress` only as secondary metadata\n(debugging, RTLS) when you control the hardware.\n\n## API summary\n\n### Hooks\n\nUse these hooks if you are building a React screen.\n\nSee them used in a working app:\n\n- [React Native CLI example](https://github.com/joncodeofficial/react-native-beacon-kit/tree/main/examples/cli)\n- [Expo example](https://github.com/joncodeofficial/react-native-beacon-kit/tree/main/examples/expo)\n\nShared options for the beacon workflow hooks:\n\n- `region`: the beacon region to range or monitor\n- `autoStart?`: start automatically when the hook mounts\n- `stopOnUnmount?`: stop automatically when the component unmounts\n\nDefaults:\n\n- `autoStart = false`\n- `stopOnUnmount = true`\n\n#### `useBeaconRanging({ region, autoStart?, stopOnUnmount? })`\n\nBest for foreground proximity UI when you want nearby beacon readings, RSSI,\nand distance.\n\nReturns beacon data plus workflow state:\n\n- `beacons`\n- `error`\n- `isActive`, `isStarting`, `isStopping`\n- `clearError()`\n- `start()`, `stop()`\n\n#### `useBeaconMonitoring({ region, autoStart?, stopOnUnmount? })`\n\nBest when you only need region entry and exit state without continuous ranging.\n\nReturns monitoring state plus workflow state:\n\n- `regionState`\n- `error`\n- `isActive`, `isStarting`, `isStopping`\n- `clearError()`\n- `start()`, `stop()`\n\n#### `useMonitorThenRange({ region, autoStart?, stopOnUnmount? })`\n\nBest when you want a battery-friendlier workflow that monitors first and ranges\nonly while the device is inside the region.\n\nReturns combined monitoring and ranging state:\n\n- `beacons`\n- `regionState`\n- `isRanging`\n- `error`\n- `isActive`, `isStarting`, `isStopping`\n- `clearError()`\n- `start()`, `stop()`\n\n#### `useEddystoneRanging({ region, autoStart?, stopOnUnmount? })`\n\nAndroid only. Ranges Eddystone-UID beacons by namespace and optional instance.\nThe region uses `namespace` and `instance` instead of `uuid`, `major`, and `minor`.\n\n```ts\nimport { useEddystoneRanging } from 'react-native-beacon-kit';\n\nconst region = {\n  identifier: 'my-namespace',\n  namespace: 'a1b23c45d67e9fab0034',\n  instance: '0034567890ab', // optional — omit to match any instance\n};\n\nconst { beacons, isActive, start, stop } = useEddystoneRanging({ region });\n```\n\nEach beacon in the `beacons` array:\n\n```ts\ninterface EddystoneUidReading {\n  namespace: string;  // 10-byte hex string\n  instance: string;   // 6-byte hex string\n  rssi: number;\n  distance: number;\n  rawDistance: number;\n  txPower: number;\n  macAddress: string;\n  timestamp: number;\n}\n```\n\n**Platform note:** iOS does not support Eddystone natively. `useEddystoneRanging` works on Android only. On iOS the hook mounts without error but `beacons` will always be empty.\n\n## Environment diagnostics\n\nUse `useBeaconEnvironment()` if you want a React-friendly view of scanner\nreadiness without manually wiring snapshot reads and event subscriptions.\n\nReturns:\n\n- `state`\n- `isLoading`\n- `error`\n- `refresh()`\n\nExample:\n\n```ts\nimport { Text, View } from 'react-native';\nimport { useBeaconEnvironment } from 'react-native-beacon-kit';\n\nexport const BeaconDiagnostics = () => {\n  const { state, isLoading, error, refresh } = useBeaconEnvironment();\n\n  if (isLoading) return <Text>Loading diagnostics...</Text>;\n  if (error) return <Text>{error.message}</Text>;\n  if (!state) return <Text>Diagnostics unavailable</Text>;\n\n  return (\n    <View>\n      <Text>Foreground ready: {state.canScanInForeground ? 'yes' : 'no'}</Text>\n      <Text>Background ready: {state.canScanInBackground ? 'yes' : 'no'}</Text>\n      <Text>Bluetooth: {state.bluetoothEnabled ? 'on' : 'off'}</Text>\n      <Text>\n        Location services: {state.locationServicesEnabled ? 'on' : 'off'}\n      </Text>\n      <Text onPress={() => void refresh()}>Refresh diagnostics</Text>\n    </View>\n  );\n};\n```\n\n### Low-level API\n\nUse `Beacon.*` if you need custom orchestration outside the hooks.\n\n#### `Beacon.configure(config)`\n\nCall this after permissions are granted and before starting a scan.\n\n```ts\nBeacon.configure({\n  scanPeriod?: number,\n  backgroundScanPeriod?: number,\n  betweenScanPeriod?: number,\n  foregroundService?: boolean,\n  foregroundServiceNotification?: {\n    title?: string,\n    text?: string,\n    color?: string,         // e.g. \"#4F46E5\"\n    showStopAction?: boolean, // adds a \"Stop\" button to the notification\n    stopActionText?: string,  // default: \"Stop\"\n  },\n  kalmanFilter?: {\n    enabled: boolean,\n    q?: number,\n    r?: number,\n  },\n  aggressiveBackground?: boolean,\n});\n```\n\nRecommended starting point:\n\n```ts\nBeacon.configure({\n  scanPeriod: 1100,\n  backgroundScanPeriod: 10000,\n  betweenScanPeriod: 0,\n});\n```\n\nKey fields:\n\n- `foregroundService`: enables real Android background scanning\n- `kalmanFilter`: smooths distance readings\n- `aggressiveBackground`: Android-only fallback for restrictive OEM devices\n\n#### `Beacon.checkPermissions(): Promise<boolean>`\n\nReturns `true` if all required permissions are already granted. It does not request them.\n\n#### `Beacon.getEnvironmentState()`\n\nReturns a snapshot of the current scanning environment:\n\n```ts\nconst state = await Beacon.getEnvironmentState();\n// {\n//   bluetoothEnabled,\n//   locationServicesEnabled,\n//   locationPermissionGranted,\n//   bluetoothPermissionGranted,\n//   backgroundPermissionGranted,\n//   permissionsGranted,\n//   canScanInForeground,\n//   canScanInBackground,\n// }\n```\n\n#### `Beacon.updateNotification({ title?, text? })`\n\nLive-updates the foreground service notification's title/text — e.g. swap the\nstatic `\"Scanning for beacons...\"` string for a live count. No-op if the\nforeground service isn't currently enabled. Android only.\n\n```ts\nBeacon.updateNotification({ text: `${beacons.length} beacons nearby` });\n```\n\n#### `Beacon.startRanging(region)` / `Beacon.stopRanging(region)`\n\nStarts or stops nearby beacon ranging with RSSI and distance.\n\n#### `Beacon.startMonitoring(region)` / `Beacon.stopMonitoring(region)`\n\nStarts or stops region entry and exit monitoring.\n\n#### Events\n\n- `Beacon.onBeaconsRanged(callback)` — iBeacon / AltBeacon ranging results\n- `Beacon.onEddystoneRanged(callback)` — Eddystone-UID ranging results (Android only)\n- `Beacon.onRegionStateChanged(callback)`\n- `Beacon.onRangingFailed(callback)`\n- `Beacon.onMonitoringFailed(callback)`\n- `Beacon.onScannerStateChanged(callback)`\n- `Beacon.onForegroundServiceStopPressed(callback)` — fired after the user taps \"Stop\" on the foreground service notification (`showStopAction: true`); all active ranging/monitoring regions and the foreground service are already stopped by the time this fires (Android only)\n\nFor hook users, runtime failures are already exposed through each hook's `error` field.\n\n#### Beacon object\n\n```ts\ninterface Beacon {\n  uuid: string;\n  major: number;\n  minor: number;\n  rssi: number;\n  distance: number;\n  rawDistance: number;\n  txPower: number;\n  macAddress: string;\n  timestamp: number;\n}\n```\n\n## Advanced Android\n\nThis section is only for apps that need strong screen-off reliability on Android.\n\n### Foreground service\n\nAndroid background scanning requires:\n\n```ts\nBeacon.configure({\n  foregroundService: true,\n});\n```\n\nWithout a foreground service, Android can stop scanning after the app goes to the background.\n\n### Battery optimization\n\nSome devices are much more aggressive than stock Android. If testing shows background scanning is being throttled, you may need to ask the user to disable battery optimization:\n\n```ts\nconst exempt = await Beacon.isIgnoringBatteryOptimizations();\nif (!exempt) {\n  Beacon.requestIgnoreBatteryOptimizations();\n}\n```\n\n> [!NOTE]\n> On Xiaomi/HyperOS devices, this exemption alone is often not enough — pair it with [`openAutostartSettings()`](#oem-settings) to also clear the OEM's autostart restriction.\n\n### `aggressiveBackground`\n\n`aggressiveBackground` is off by default and is not needed for most apps.\n\nUse it only if you have verified that screen-off scanning is still being suspended on the target hardware:\n\n```ts\nBeacon.configure({\n  foregroundService: true,\n  aggressiveBackground: true,\n});\n```\n\nWhat it does:\n\n- acquires a `PARTIAL_WAKE_LOCK` so the CPU stays awake for BLE callbacks with the screen off\n- forces `LOW_LATENCY` scan mode, preventing MIUI-class ROMs from silently downgrading to `LOW_POWER` on screen-off\n- runs a watchdog that restarts ranging every 20s, to beat MIUI's ~20s scan-suspend timer\n\nTradeoff:\n\n- improves survivability on some OEMs\n- increases battery usage\n\n### OEM settings\n\nSome Android manufacturers (Xiaomi, Oppo, Vivo, Huawei, Samsung, and others) ship their own battery/app manager on top of stock Android and kill background BLE scanning more aggressively than the standard \"ignore battery optimizations\" permission can prevent. The only way around it is sending the user to that manufacturer's own \"autostart\" / \"protected apps\" screen — there's no standard Android API for this, only proprietary ones per OEM. See https://dontkillmyapp.com for which manufacturers do this and how bad each one is.\n\n`Beacon.openAutostartSettings(target?)` deep-links to a specific screen when you give it the target `Activity`, and falls back to the app's generic system settings screen if you don't (or if the target can't be opened):\n\n```ts\nBeacon.openAutostartSettings();\n\n// or, targeting a specific OEM screen:\nBeacon.openAutostartSettings({\n  packageName: 'com.miui.securitycenter',\n  className: 'com.miui.permcenter.autostart.AutoStartManagementActivity',\n});\n```\n\nPassing `undefined` (or nothing) is a safe fallback — it opens generic system settings on every device. To target the right screen automatically, resolve it from the device manufacturer first:\n\n```ts\nimport { Platform } from 'react-native';\nimport Beacon, { type AutostartTarget } from 'react-native-beacon-kit';\n\nconst OEM_AUTOSTART_TARGETS: Record<string, AutostartTarget> = {\n  xiaomi: {\n    packageName: 'com.miui.securitycenter',\n    className: 'com.miui.permcenter.autostart.AutoStartManagementActivity',\n  },\n  samsung: {\n    packageName: 'com.samsung.android.lool',\n    className: 'com.samsung.android.sm.battery.ui.BatteryActivity',\n  },\n  // add more as you verify them on real devices\n};\n\nfunction resolveOemAutostartTarget(): AutostartTarget | undefined {\n  if (Platform.OS !== 'android') return undefined;\n  const manufacturer = Platform.constants.Manufacturer?.toLowerCase() ?? '';\n  const match = Object.keys(OEM_AUTOSTART_TARGETS).find((brand) =>\n    manufacturer.includes(brand)\n  );\n  return match ? OEM_AUTOSTART_TARGETS[match] : undefined;\n}\n\nBeacon.openAutostartSettings(resolveOemAutostartTarget());\n```\n\n> [!WARNING]\n> These `packageName`/`className` pairs are proprietary and drift across ROM versions with no notice. This library does not ship or maintain a manufacturer lookup table for that reason — verify any pair on your actual target devices before shipping. See [`examples/cli/src/beaconSetup.ts`](./examples/cli/src/beaconSetup.ts) for this same pattern running in a working app.\n\n> [!IMPORTANT]\n> Call `openAutostartSettings()` only from a user-initiated action, not during app startup.\n\nAutostart is often not the only OEM setting that matters. On MIUI/HyperOS specifically, background scanning can still be killed even with autostart enabled unless the user also sets, from the app's own system settings page:\n\n- **Battery saver** → No restrictions\n- **Other permissions** → set \"Display pop-up windows while running in the background\" and \"Show on lock screen\" to Always allow\n\nThere's no stable API or deep link to these specific sub-screens across ROM versions — `openAutostartSettings()` only targets the autostart screen. Direct users to the app's general system settings page for the rest (calling it with no target, or letting the OEM lookup fail, already falls back there).\n\n## Background wake-up\n\nWhen the OS kills your app and a beacon event brings it back, the JS bundle starts completely fresh — no React state, no in-memory store. You need to restore any context your app needs before handling the event.\n\n### Android\n\nWith `foregroundService: true`, the process usually stays alive and wake-up restarts are rare. If the user force-kills the app or the OS terminates it under memory pressure, the foreground service is also stopped and no further scanning happens until the app is launched again.\n\n### iOS\n\nCore Location can relaunch your app in the background when a monitored region is crossed. The execution window is short (~5–10 seconds). Check `launchOptions` in your app entry point to detect this case:\n\n```ts\n// AppDelegate or your root component on mount\nconst isBackgroundLaunch =\n  launchOptions?.[LocationLaunchOptionsKey.region] != null;\n```\n\nIf you are using `useMonitorThenRange`, start monitoring as early as possible — before any async work — so the region state is established within the execution window.\n\n### State hydration\n\nReact component state does not survive a background relaunch. If your app needs to know about previous beacon context (last known region state, last seen beacon), persist it to `AsyncStorage` or `MMKV` and read it back on startup before your beacon logic runs.\n\n## Troubleshooting\n\n### `SecurityException` on fresh install (Android SDK 34+)\n\n`configure({ foregroundService: true })` is being called before runtime permissions finish resolving. Await the permission flow first.\n\n### Ranging returns 0 beacons\n\nCheck the basics first:\n\n- the beacon is advertising in a supported format\n- permissions were granted\n- Bluetooth and location services are enabled on the device\n- the region filter matches the beacon UUID, and optionally `major` / `minor`\n\n### No foreground service notification on Android 13+\n\nAdd `POST_NOTIFICATIONS` to your runtime permission flow.\n\n### Scanning stops after screen off on Xiaomi / HyperOS\n\nReview [Advanced Android](#advanced-android). `foregroundService: true` may not be enough on some OEM devices — try `aggressiveBackground: true` plus the manual settings in [OEM settings](#oem-settings).\n\nEven with everything configured, expect background detection to be noticeably less frequent than in the foreground on these ROMs — the OS is still throttling the radio, just less aggressively. For apps that need tight real-time precision, consider a screen-on \"survey\" flow instead of relying on continuous background scanning, and set expectations with users on these devices accordingly.\n\n### `MIUI PERMISSION DENIED` in Logcat on Xiaomi / HyperOS\n\nThis is a system-level log from MIUI's own BLE throttling, not an error from this library — it doesn't necessarily block scanning outright, just some individual scan attempts. There's nothing to fix in your app; it can appear even after applying every mitigation in [OEM settings](#oem-settings).\n\n## Migrating from react-native-beacons-manager\n\n`react-native-beacons-manager` is no longer maintained and does not support the New Architecture. Here is the equivalent pattern in this library.\n\n### Install\n\n```sh\nnpm uninstall react-native-beacons-manager\nnpm install react-native-beacon-kit\n```\n\n### Ranging\n\n**Before:**\n\n```ts\nimport BeaconsManager from 'react-native-beacons-manager';\nimport { DeviceEventEmitter } from 'react-native';\n\nBeaconsManager.requestAlwaysAuthorization();\nBeaconsManager.startRangingBeaconsInRegion('myRegion', 'FDA50693-A4E2-4FB1-AFCF-C6EB07647825');\n\nDeviceEventEmitter.addListener('beaconsDidRange', (data) => {\n  console.log(data.beacons);\n});\n```\n\n**After (hooks):**\n\n```ts\nimport Beacon, { useBeaconRanging } from 'react-native-beacon-kit';\n\nconst { beacons, start } = useBeaconRanging({\n  region: { identifier: 'myRegion', uuid: 'FDA50693-A4E2-4FB1-AFCF-C6EB07647825' },\n});\n\n// call start() after permissions are granted\n```\n\n### Monitoring\n\n**Before:**\n\n```ts\nBeaconsManager.startMonitoringForRegion('myRegion', 'FDA50693...');\nDeviceEventEmitter.addListener('regionDidEnter', () => { /* ... */ });\nDeviceEventEmitter.addListener('regionDidExit', () => { /* ... */ });\n```\n\n**After:**\n\n```ts\nconst { regionState, start } = useBeaconMonitoring({\n  region: { identifier: 'myRegion', uuid: 'FDA50693...' },\n});\n```\n\n### Permissions\n\n`react-native-beacons-manager` had built-in helpers like `requestAlwaysAuthorization()`. This library delegates to [react-native-permissions](https://github.com/zoontek/react-native-permissions). See [Platform setup](#platform-setup) and the [requestPermissions helper](#requesting-permissions) in the quick start.\n\n### What to remove\n\n- Uninstall `react-native-beacons-manager`\n- Remove all `DeviceEventEmitter` listener setup for beacons\n- Replace `BeaconsManager.requestAlwaysAuthorization()` with the `requestPermissions` helper above\n\n## License\n\nMIT\n","readmeFilename":"README.md"}