{"_id":"@archonsystemsinc/vision-camera-barcode-scanner","_rev":"4-c9ae0ffd09b7eba3176fb3386412bf5a","name":"@archonsystemsinc/vision-camera-barcode-scanner","dist-tags":{"latest":"0.12.3"},"versions":{"0.12.0":{"name":"@archonsystemsinc/vision-camera-barcode-scanner","version":"0.12.0","keywords":["react-native","ios","android"],"author":{"name":"Archon Systems","email":"rithik.bhatia@archonsystems.com"},"license":"MIT","_id":"@archonsystemsinc/vision-camera-barcode-scanner@0.12.0","maintainers":[{"name":"archonandrew","email":"andrew.hunt@archonsystems.com"},{"name":"rithik-b","email":"rithikbhatia12@gmail.com"}],"homepage":"https://github.com/ArchonSystemsInc/vision-camera-barcode-scanner#readme","bugs":{"url":"https://github.com/ArchonSystemsInc/vision-camera-barcode-scanner/issues"},"dist":{"shasum":"9d0d96e38d9bfe0f8b214a890422362464ab1a0b","tarball":"https://registry.npmjs.org/@archonsystemsinc/vision-camera-barcode-scanner/-/vision-camera-barcode-scanner-0.12.0.tgz","fileCount":22,"integrity":"sha512-DO0hIv68YlPTuLOH5Eke9sCWVt+/TcjtsMb7Mw8YCFV8uyXEBUiOtmYCODQaEA8r3fzaCgpFIC94Ny1jrOONQQ==","signatures":[{"sig":"MEUCIQDlCQHe/IAlODtAysuu7c0R4FNaJyVblU2NxXtujXWT7AIgLTwvTUy3MLhnLrVSUkLPdcXzyAaFedXxihSXHH69EUA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":157542},"main":"./dist/index.js","type":"module","_from":"file:archonsystemsinc-vision-camera-barcode-scanner-0.12.0.tgz","types":"./dist/index.d.ts","exports":{".":{"import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"lint":"eslint src/","spec":"exit 0","build":"tsup src/index.ts --format cjs,esm --sourcemap --dts --clean","clean":"rm -rf android/build example/android/build example/android/app/build example/ios/build","start":"npm run spec -- --watch","prettify":"prettier --write 'android/src/**/*.java' src/","typecheck":"tsc --noEmit","prettycheck":"prettier --check src/"},"_npmUser":{"name":"rithik-b","email":"rithikbhatia12@gmail.com"},"_resolved":"/tmp/b9f570e861772dae99bd470a23b70122/archonsystemsinc-vision-camera-barcode-scanner-0.12.0.tgz","_integrity":"sha512-DO0hIv68YlPTuLOH5Eke9sCWVt+/TcjtsMb7Mw8YCFV8uyXEBUiOtmYCODQaEA8r3fzaCgpFIC94Ny1jrOONQQ==","repository":{"url":"git+https://github.com/ArchonSystemsInc/vision-camera-barcode-scanner.git","type":"git"},"_npmVersion":"10.9.0","description":"High performance barcode scanner for React Native using VisionCamera","directories":{},"_nodeVersion":"22.12.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","tsup":"^8.3.5","react":"18.2.0","eslint":"^8.57.0","prettier":"^3.2.5","typescript":"^5.4.5","@types/react":"~18.2.79","react-native":"0.73.7","@types/react-native":"0.72.8","eslint-plugin-react":"7.34.1","eslint-plugin-import":"^2.29.0","prettier-plugin-java":"^2.6.0","@tsconfig/react-native":"^3.0.5","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-react-native":"4.1.0","react-native-vision-camera":"4.0.1","react-native-worklets-core":"1.5.0","@react-native/gradle-plugin":"^0.74.80","@typescript-eslint/eslint-plugin":"8.10.0","prettier-plugin-organize-imports":"^3.2.4"},"peerDependencies":{"react":"*","react-native":"*","react-native-vision-camera":">=4.0.0-0","react-native-worklets-core":">=1.5.0-0"},"_npmOperationalInternal":{"tmp":"tmp/vision-camera-barcode-scanner_0.12.0_1737401029225_0.9415000633762072","host":"s3://npm-registry-packages-npm-production"}},"0.12.1":{"name":"@archonsystemsinc/vision-camera-barcode-scanner","version":"0.12.1","keywords":["react-native","ios","android"],"author":{"name":"Archon Systems","email":"rithik.bhatia@archonsystems.com"},"license":"MIT","_id":"@archonsystemsinc/vision-camera-barcode-scanner@0.12.1","maintainers":[{"name":"archonandrew","email":"andrew.hunt@archonsystems.com"},{"name":"rithik-b","email":"rithikbhatia12@gmail.com"}],"homepage":"https://github.com/ArchonSystemsInc/vision-camera-barcode-scanner#readme","bugs":{"url":"https://github.com/ArchonSystemsInc/vision-camera-barcode-scanner/issues"},"dist":{"shasum":"f1b67e004e31aab494382bd864e544f114b16881","tarball":"https://registry.npmjs.org/@archonsystemsinc/vision-camera-barcode-scanner/-/vision-camera-barcode-scanner-0.12.1.tgz","fileCount":22,"integrity":"sha512-NPCyJkUg7+FlSdC3LL7hHTPBdG+/U/YEQxaVhyH6DoJ6a4OUb3Mho69VLsuzZxWsgJcDrhOOIwUl8+nYYs/zYQ==","signatures":[{"sig":"MEUCIGXDooGmRg0d8pSfWJsB84rrf0XQKg8KUKlYdb1Duv/GAiEAjB3cgW/wovzCwhXHF/bWOr+WSiarBCXRjANgUCKvRuo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":157502},"main":"./dist/index.js","type":"module","_from":"file:archonsystemsinc-vision-camera-barcode-scanner-0.12.1.tgz","types":"./dist/index.d.ts","exports":{".":{"import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"lint":"eslint src/","spec":"exit 0","build":"tsup src/index.ts --format cjs,esm --sourcemap --dts --clean","clean":"rm -rf android/build example/android/build example/android/app/build example/ios/build","start":"npm run spec -- --watch","prettify":"prettier --write 'android/src/**/*.java' src/","typecheck":"tsc --noEmit","prettycheck":"prettier --check src/"},"_npmUser":{"name":"rithik-b","email":"rithikbhatia12@gmail.com"},"_resolved":"/tmp/d29bf6581f7fec508a040ecbfba7f260/archonsystemsinc-vision-camera-barcode-scanner-0.12.1.tgz","_integrity":"sha512-NPCyJkUg7+FlSdC3LL7hHTPBdG+/U/YEQxaVhyH6DoJ6a4OUb3Mho69VLsuzZxWsgJcDrhOOIwUl8+nYYs/zYQ==","repository":{"url":"git+https://github.com/ArchonSystemsInc/vision-camera-barcode-scanner.git","type":"git"},"_npmVersion":"10.9.0","description":"High performance barcode scanner for React Native using VisionCamera","directories":{},"_nodeVersion":"22.12.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","tsup":"^8.3.5","react":"18.2.0","eslint":"^8.57.0","prettier":"^3.2.5","typescript":"^5.4.5","@types/react":"~18.2.79","react-native":"0.73.7","@types/react-native":"0.72.8","eslint-plugin-react":"7.34.1","eslint-plugin-import":"^2.29.0","prettier-plugin-java":"^2.6.0","@tsconfig/react-native":"^3.0.5","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-react-native":"4.1.0","react-native-vision-camera":"4.0.1","react-native-worklets-core":"1.5.0","@react-native/gradle-plugin":"^0.74.80","@typescript-eslint/eslint-plugin":"8.10.0","prettier-plugin-organize-imports":"^3.2.4"},"peerDependencies":{"react":"*","react-native":"*","react-native-vision-camera":">=4.0.0-0","react-native-worklets-core":">=1.5.0-0"},"_npmOperationalInternal":{"tmp":"tmp/vision-camera-barcode-scanner_0.12.1_1737486748038_0.3924478468345778","host":"s3://npm-registry-packages-npm-production"}},"0.12.2":{"name":"@archonsystemsinc/vision-camera-barcode-scanner","version":"0.12.2","keywords":["react-native","ios","android"],"author":{"name":"Archon Systems","email":"rithik.bhatia@archonsystems.com"},"license":"MIT","_id":"@archonsystemsinc/vision-camera-barcode-scanner@0.12.2","maintainers":[{"name":"archonandrew","email":"andrew.hunt@archonsystems.com"},{"name":"rithik-b","email":"rithikbhatia12@gmail.com"}],"homepage":"https://github.com/ArchonSystemsInc/vision-camera-barcode-scanner#readme","bugs":{"url":"https://github.com/ArchonSystemsInc/vision-camera-barcode-scanner/issues"},"dist":{"shasum":"0f00e304f4995cf74794d1b80a9099442e10289c","tarball":"https://registry.npmjs.org/@archonsystemsinc/vision-camera-barcode-scanner/-/vision-camera-barcode-scanner-0.12.2.tgz","fileCount":22,"integrity":"sha512-jxvNl5nTBGzrbUq/qlrQPl9UfhcQBfeyrQWtjMOBCHzqx1d6FNFH0T5ev63DOzy+Q+73owXJVFer2CcSpJukzg==","signatures":[{"sig":"MEUCIQDss3IAInOj8hGd2/DNr2HngD4JEY+wkUl3CkQVUhoTKQIgU9S8Yz6Q4Lbfa7MwTALYRCXvsD0ggIYhgBszKNcy5uM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":157503},"main":"./dist/index.js","type":"module","_from":"file:archonsystemsinc-vision-camera-barcode-scanner-0.12.2.tgz","types":"./dist/index.d.ts","exports":{".":{"import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"lint":"eslint src/","spec":"exit 0","build":"tsup src/index.ts --format cjs,esm --sourcemap --dts --clean","clean":"rm -rf android/build example/android/build example/android/app/build example/ios/build","start":"npm run spec -- --watch","prettify":"prettier --write 'android/src/**/*.java' src/","typecheck":"tsc --noEmit","prettycheck":"prettier --check src/"},"_npmUser":{"name":"rithik-b","email":"rithikbhatia12@gmail.com"},"_resolved":"/tmp/bc63f14c831ee845e7422c60dfa27fbe/archonsystemsinc-vision-camera-barcode-scanner-0.12.2.tgz","_integrity":"sha512-jxvNl5nTBGzrbUq/qlrQPl9UfhcQBfeyrQWtjMOBCHzqx1d6FNFH0T5ev63DOzy+Q+73owXJVFer2CcSpJukzg==","repository":{"url":"git+https://github.com/ArchonSystemsInc/vision-camera-barcode-scanner.git","type":"git"},"_npmVersion":"10.9.3","description":"High performance barcode scanner for React Native using VisionCamera","directories":{},"_nodeVersion":"22.19.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","tsup":"^8.3.5","react":"18.2.0","eslint":"^8.57.0","prettier":"^3.2.5","typescript":"^5.4.5","@types/react":"~18.2.79","react-native":"0.73.7","@types/react-native":"0.72.8","eslint-plugin-react":"7.34.1","eslint-plugin-import":"^2.29.0","prettier-plugin-java":"^2.6.0","@tsconfig/react-native":"^3.0.5","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-react-native":"4.1.0","react-native-vision-camera":"4.0.1","react-native-worklets-core":"1.5.0","@react-native/gradle-plugin":"^0.74.80","@typescript-eslint/eslint-plugin":"8.10.0","prettier-plugin-organize-imports":"^3.2.4"},"peerDependencies":{"react":"*","react-native":"*","react-native-vision-camera":">=4.0.0-0","react-native-worklets-core":">=1.5.0-0"},"_npmOperationalInternal":{"tmp":"tmp/vision-camera-barcode-scanner_0.12.2_1758735012895_0.6478274723133166","host":"s3://npm-registry-packages-npm-production"}},"0.12.3":{"name":"@archonsystemsinc/vision-camera-barcode-scanner","version":"0.12.3","description":"High performance barcode scanner for React Native using VisionCamera","author":{"name":"Archon Systems","email":"rithik.bhatia@archonsystems.com"},"repository":{"type":"git","url":"git+https://github.com/ArchonSystemsInc/vision-camera-barcode-scanner.git"},"homepage":"https://github.com/ArchonSystemsInc/vision-camera-barcode-scanner#readme","license":"MIT","type":"module","publishConfig":{"access":"public"},"main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"require":"./dist/index.cjs","import":"./dist/index.js"}},"keywords":["react-native","ios","android"],"peerDependencies":{"react":"*","react-native":"*","react-native-vision-camera":">=4.0.0-0","react-native-worklets-core":">=1.5.0-0"},"devDependencies":{"@react-native/gradle-plugin":"^0.74.80","@tsconfig/react-native":"^3.0.5","@types/react":"~18.2.79","@types/react-native":"0.72.8","@typescript-eslint/eslint-plugin":"8.10.0","eslint":"^8.57.0","eslint-plugin-import":"^2.29.0","eslint-plugin-react":"7.34.1","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-react-native":"4.1.0","jest":"^29.7.0","prettier":"^3.2.5","prettier-plugin-java":"^2.6.0","prettier-plugin-organize-imports":"^3.2.4","react":"18.2.0","react-native":"0.73.7","react-native-vision-camera":"4.0.1","react-native-worklets-core":"1.5.0","tsup":"^8.3.5","typescript":"^5.4.5"},"scripts":{"start":"npm run spec -- --watch","build":"tsup src/index.ts --format cjs,esm --sourcemap --dts --clean","lint":"eslint src/","prettycheck":"prettier --check src/","typecheck":"tsc --noEmit","spec":"exit 0","prettify":"prettier --write 'android/src/**/*.java' src/","clean":"rm -rf android/build example/android/build example/android/app/build example/ios/build"},"_id":"@archonsystemsinc/vision-camera-barcode-scanner@0.12.3","bugs":{"url":"https://github.com/ArchonSystemsInc/vision-camera-barcode-scanner/issues"},"_integrity":"sha512-AiVkdmGi7CuPOPGsXdZjRuomNMBi7UesPoVpvfMb61K7PLZwOgO6rRsH6gW9tf5NP0wZ2nQpVcbmiJDDBNZCJg==","_resolved":"/tmp/f58913cc72e9652b5fa1888d74a18347/archonsystemsinc-vision-camera-barcode-scanner-0.12.3.tgz","_from":"file:archonsystemsinc-vision-camera-barcode-scanner-0.12.3.tgz","_nodeVersion":"24.13.0","_npmVersion":"11.6.2","dist":{"integrity":"sha512-AiVkdmGi7CuPOPGsXdZjRuomNMBi7UesPoVpvfMb61K7PLZwOgO6rRsH6gW9tf5NP0wZ2nQpVcbmiJDDBNZCJg==","shasum":"2b96f5dae0b5873e0105c8f21f3fe6afef06f6cd","tarball":"https://registry.npmjs.org/@archonsystemsinc/vision-camera-barcode-scanner/-/vision-camera-barcode-scanner-0.12.3.tgz","fileCount":22,"unpackedSize":157503,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@archonsystemsinc%2fvision-camera-barcode-scanner@0.12.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIDQMRSun0s+3WBqOJDyXRazcl6D+Nt//aX7B0c229eNJAiEAnZHxNx12eniVqkynr1c8qGi2NCYhpVzBSd93iJKNrvA="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:976695ff-2773-48c8-9dfd-40d2439d3f62"}},"directories":{},"maintainers":[{"name":"archonandrew","email":"andrew.hunt@archonsystems.com"},{"name":"rithik-b","email":"rithikbhatia12@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/vision-camera-barcode-scanner_0.12.3_1770210834435_0.012920523756352775"},"_hasShrinkwrap":false}},"time":{"created":"2025-01-20T19:23:49.129Z","modified":"2026-02-04T13:13:54.924Z","0.12.0":"2025-01-20T19:23:49.493Z","0.12.1":"2025-01-21T19:12:28.254Z","0.12.2":"2025-09-24T17:30:13.081Z","0.12.3":"2026-02-04T13:13:54.599Z"},"bugs":{"url":"https://github.com/ArchonSystemsInc/vision-camera-barcode-scanner/issues"},"author":{"name":"Archon Systems","email":"rithik.bhatia@archonsystems.com"},"license":"MIT","homepage":"https://github.com/ArchonSystemsInc/vision-camera-barcode-scanner#readme","keywords":["react-native","ios","android"],"repository":{"type":"git","url":"git+https://github.com/ArchonSystemsInc/vision-camera-barcode-scanner.git"},"description":"High performance barcode scanner for React Native using VisionCamera","maintainers":[{"name":"archonandrew","email":"andrew.hunt@archonsystems.com"},{"name":"rithik-b","email":"rithikbhatia12@gmail.com"}],"readme":"# vision-camera-barcode-scanner\n\nThis is a fork of https://github.com/mgcrea/vision-camera-barcode-scanner with fixes for the bounding box calculation in vision camera v4.\n\n## Features\n\nHigh performance barcode scanner for React Native using VisionCamera.\n\n- **Modern and future-proof:** Built on [react-native-vision-camera](https://github.com/mrousavy/react-native-vision-camera) with minimal native dependencies for each platforms to minimize future build-failure risk.\n\n- **Minimal footprint:** Leverages [Google's MLKit BarcodeScanner](https://developers.google.com/android/reference/com/google/mlkit/vision/barcode/package-summary) on Android and [Apple's Vision VNDetectBarcodesRequest](https://developer.apple.com/documentation/vision/vndetectbarcodesrequest).\n\n- **Powerful & Performant:** The implementation has been tailored for advanced use cases where performance is critical. Scanning barcodes is butter smooth at 30fps, and you can customize the detection speed loop (detection fps).\n\n- **Hooks based:** Exposes easy-to-use hooks [`useBarcodeScanner`](./src/hooks/useBarcodeScanner.ts) to quickly get started\n\n<!-- Check the [**Documentation**](https://mgcrea.github.io/vision-camera-barcode-scanner/) for usage details. -->\n\n## Demo\n\n![demo](./.github/assets/demo.gif)\n\n## Install\n\n```bash\nnpm install @archonsystemsinc/vision-camera-barcode-scanner\n# or\nyarn add @archonsystemsinc/vision-camera-barcode-scanner\n# or\npnpm add @archonsystemsinc/vision-camera-barcode-scanner\n```\n\n### Dependencies\n\nThis package relies on:\n\n- [react-native-vision-camera@>=4](https://github.com/mrousavy/react-native-vision-camera)\n- [react-native-worklets-core](https://github.com/margelo/react-native-worklets-core)\n\nYou must add them as dependencies to your project:\n\n```bash\nnpm install react-native-vision-camera react-native-worklets-core\n# or\nyarn add react-native-vision-camera react-native-worklets-core\n# or\npnpm add react-native-vision-camera react-native-worklets-core\n```\n\nThen you must follow their respective installation instructions:\n\n- [react-native-worklets-core](https://github.com/margelo/react-native-worklets-core#installation)\n\n## Quickstart\n\nUnlike mgcrea's original package we do not provide a highlights component. That means you have to draw highlights yourself using your own component. If you've used expo camera, the API here is meant to be similar where onBarcodesScanned gives you the barcodes with their bounding box, except we give multiple barcodes instead of one.\n\n```tsx\nimport { useBarcodeScanner, Barcode } from \"@archonsystemsinc/vision-camera-barcode-scanner\";\nimport type { FunctionComponent } from \"react\";\nimport { StyleSheet } from \"react-native\";\nimport Highlights from \"./Highlights\"\n\nexport const App: FunctionComponent = () => {\n  // @NOTE you must properly ask for camera permissions first!\n  // You should use `PermissionsAndroid` for Android and `Camera.requestCameraPermission()` on iOS.\n\n  const [barcodes, setBarcodes] = useState<Barcode[]>([])\n  const setBarcodesJS = Worklets.createRunOnJS(setBarcodes)\n  const { props: cameraProps } = useBarcodeScanner({\n    fps: 5,\n    barcodeTypes: [\"qr\", \"ean-13\"], // optional\n    onBarcodeScanned: (barcodes) => {\n      \"worklet\";\n      // The barcodes here return the bounding box positions relative to the view, similar to expo camera's api\n      setBarcodesJS(barcodes)\n      );\n    },\n  });\n\n  const devices = useCameraDevices();\n  const device = devices.find(({ position }) => position === \"back\");\n  const format = useCameraFormat(device, [\n    { videoResolution: { width: 1920, height: 1080 } },\n  ]);\n  if (!device) {\n    return null;\n  }\n\n  return (\n    <View style={{ flex: 1 }}>\n      <Camera\n        style={StyleSheet.absoluteFill}\n        device={device}\n        isActive\n        {...cameraProps}\n      />\n      <Highlights barcodes={barcodes} />\n    </View>\n  );\n};\n```\n\n## Authors\n\n- Original library author: [Olivier Louvignes](https://github.com/mgcrea) <<olivier@mgcrea.io>>\n- Forked by Archon Systems Inc\n\n## License\n\n```txt\nThe MIT License\n\nCopyright (c) 2023 Olivier Louvignes <olivier@mgcrea.io>\nCopyright (c) 2025 Archon Systems Inc\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n```\n","readmeFilename":"README.md"}