npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@wisdomgarden/barcode-scanner

v1.1.16

Published

A fast and efficient (QR) barcode scanner for Capacitor

Downloads

267

Readme

from

Fork from capacitor-community/barcode-scanner of 1.2.1 Specific usage check @capacitor-community/barcode-scanner

v1.1.3

feat:

  • scan manual zoom
  • scan click focus

v1.1.4

fix:

  • fix manual zoom bug
  • fix scan scaling speed too fast by android

v1.1.5(2023-6-2)

  • fix:
    • fix scan scaling speed too fast by android

v1.1.6(2023-8-17)

  • feat:
    • 新增 setZoomFactor 方法用来设置相机缩放
    • 新增设置缩放回调函数(zoomFactorChange)用来返回最新缩放值

v1.1.7(2023-12-18)

  • fix:
      1. Fix crash when calling camera on Android

v1.1.8(2023-12-18)

  • feat:
      1. add camera initialized event

v1.1.9(2023-12-18)

  • fix:
      1. Fix crash when calling camera on Android

v1.1.10(2024-7-18)

  • feat:
      1. Support gradle 7.x

v1.1.11(2024-11-14)

  • feat:
    • Android: replace WechatQrcode with Zxing

v1.1.12(2024-01-06)

  • rename qrcode library
  • add script ./android/update_libs.sh 2.2.0 to update library

v1.1.13(2026-05-21)

  • Android: upgrade wisdomgarden-qrcode to 2.5.0 (OpenCV 4.12.0, 16KB page alignment for Android 15)
  • Android: upgrade camerascan to 1.4.1, viewfinderview to 1.4.0
  • Android: migrate to AGP 8.x (namespace, compileSdk, Gradle 8.7)
  • upgrade ./android/update_libs.sh default version to 2.5.0

v1.1.14(2026-08-10)

  • iOS: 新增 scanFromGallery(),从系统相册选择图片并用 Vision 解码条码/二维码,与相机扫描流程完全独立
    • iOS 14+ 使用 PHPickerViewController(进程外选择器,无需相册权限,也无需 Info.plist 配置)
    • iOS 11–13 回退到 UIImagePickerController,宿主 App 必须在自己的 Info.plist 中添加 NSPhotoLibraryUsageDescription,否则选择器无法弹出
    • 可选参数 targetedFormats(仅 iOS)限定识别的条码格式;不传则识别 Vision 默认支持的全部格式
    • 用户取消选择时返回 { hasContent: false, cancelled: true };选了图片但未识别出内容时返回 { hasContent: false }
  • Android: 新增 scanFromGallery(),从系统相册选择图片并用 WisdomGardenQRCodeDetector 解码,与相机扫描流程完全独立(不复用 startScan 的 saved call)
    • 仅支持二维码(QR),不引入其他解码器;targetedFormats 参数为 iOS 专用,Android 忽略
    • Android 13+ 使用系统相册选择器 MediaStore.ACTION_PICK_IMAGES,低版本回退到 Intent.ACTION_GET_CONTENT,两者均无需任何运行时权限(不需要 READ_MEDIA_IMAGES / READ_EXTERNAL_STORAGE)
    • 解码前按 2 的幂降采样到长边约 1600–2000px,并按 EXIF 方向旋转正立;首次识别失败且图片较小时,再用 2x 放大重试一次(应对大图中的小二维码)
    • 解码在后台线程进行、结果回主线程返回;读图/解码异常一律返回 { hasContent: false },不会崩溃或让 Promise 悬挂
    • 用户取消选择时返回 { hasContent: false, cancelled: true };选了图片但未识别出内容时返回 { hasContent: false }
    • 解码器初始化(OpenCV.initOpenCV() + WisdomGardenQRCodeDetector.init())抽为一次性的独立初始化,不再依赖相机权限
    • 新增依赖 androidx.exifinterface:exifinterface:1.4.2