Gathering detailed insights and metrics for zxing-qr-reader
Gathering detailed insights and metrics for zxing-qr-reader
Gathering detailed insights and metrics for zxing-qr-reader
Gathering detailed insights and metrics for zxing-qr-reader
QR code reader based on ZXing C++ port by @nu-book compiled to wasm.
npm install zxing-qr-reader
Typescript
Module System
Node Version
NPM Version
TypeScript (88.05%)
JavaScript (7.11%)
Python (4.84%)
Total Downloads
0
Last Day
0
Last Week
0
Last Month
0
Last Year
0
Apache-2.0 License
5 Stars
33 Commits
2 Forks
2 Watchers
2 Branches
1 Contributors
Updated on Nov 27, 2024
Latest Version
2.1.0
Package Id
zxing-qr-reader@2.1.0
Unpacked Size
13.79 kB
Size
3.90 kB
File Count
4
NPM Version
8.5.5
Node Version
17.8.0
Cumulative downloads
Total Downloads
Last Day
0%
NaN
Compared to previous day
Last Week
0%
NaN
Compared to previous week
Last Month
0%
NaN
Compared to previous month
Last Year
0%
NaN
Compared to previous year
5
A QR code reader based on a wasm port of Zebra Crossing library by @nu-book.
npm install zxing-qr-reader
You can find the demo here
Instantiate the QrReader class by passing a canvas context to the constructor.
The way this was designed means you shouldn't need a react to use it :D.
NOTE: The resolution of the camera feed is the same as the size of the canvas.
import React from 'react';
import { QrReader } from 'zxing-qr-reader';
class App extends React.Component {
componentDidMount() {
const canvas = document.getElementById('canvas');//get canvas
const context = canvas.getContext('2d');//get canvas context
this.qr_reader = new QrReader(context);//instantiate qr reader
this.qr_reader.scan();//start scan
this.qr_reader.on('found', (result) => {
console.log(result.text); //called when qr code was found
});
}
componentWillUnmount() {
this.qr_reader.stop();
}
render() {
return (
<div>
<canvas id="canvas" width={480} height={852}></canvas> //480p resolution in portrait on mobile
</div>
);
}
}
A cover calculation is done when the image is drawn to the canvas meaning supplying one resolution for mobile devices and one other for desktop devices should suffice.
Typically a 600x600 resolution for desktop and 480x852 resolution for mobile does the trick. This gives fullscreen image on mobile and a large enough image on most desktop monitors.
const file = e.target.files[0];
const result = this.qr_reader.readBarCodeFromFile(file);
this.qr_reader.on('error', (e) => {
console.log(e);
});
Stream already initialised.
Occurs when scan()
method is called contiguously.
DOM Exception. Permission denied.
Occurs when the user has not given your site permission. Error. Permission denied. Please update browser permissions to access camera.
is written to the canvas in this event. Notifying the user.
Browser does not support getUserMedia
Occurs when a browser does not support webRTC. Error. Your browser does not support camera access. Use a modern browser or update your browser.
is written to the canvas in this event. Notifying the user.
Stream was not initialised
Occurs when stop()
method is called before scan()
method.
Reader isn't initialised
Occurs when readBarCodeFile is called before wasm module is loaded. (Uncommon)
Trying to set a canvas size that is of a higher resolution than the device camera can deliver, undefined behaviour occurs.
Calling stop()
before the reader could fully initialise causes a bug where the last stream is always on. Meaning the user camera stays on and calling stop()
changes nothing.
No vulnerabilities found.
Reason
license file detected
Details
Reason
binaries present in source code
Details
Reason
Found 0/30 approved changesets -- score normalized to 0
Reason
0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0
Reason
no effort to earn an OpenSSF best practices badge detected
Reason
security policy file not detected
Details
Reason
project is not fuzzed
Details
Reason
branch protection not enabled on development/release branches
Details
Reason
SAST tool is not run on all commits -- score normalized to 0
Details
Reason
41 existing vulnerabilities detected
Details
Score
Last Scanned on 2025-07-07
The Open Source Security Foundation is a cross-industry collaboration to improve the security of open source software (OSS). The Scorecard provides security health metrics for open source projects.
Learn More