vue-qrcode-reader
Advanced tools
Comparing version 0.8.8 to 0.8.9
module.exports = { | ||
root: true, | ||
parser: 'babel-eslint', | ||
parserOptions: { | ||
sourceType: 'module' | ||
env: { | ||
node: true | ||
}, | ||
// https://github.com/feross/standard/blob/master/RULES.md#javascript-standard-style | ||
extends: 'standard', | ||
// required to lint *.vue files | ||
plugins: [ | ||
'html' | ||
'extends': [ | ||
'plugin:vue/essential', | ||
'@vue/standard' | ||
], | ||
env: { | ||
browser: true, | ||
rules: { | ||
'no-console': process.env.NODE_ENV === 'production' ? 'error' : 'off', | ||
'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off' | ||
}, | ||
// add your custom rules here | ||
'rules': { | ||
// allow paren-less arrow functions | ||
'arrow-parens': 0, | ||
// allow async-await | ||
'generator-star-spacing': 0, | ||
// allow debugger during development | ||
'no-debugger': process.env.NODE_ENV === 'production' ? 2 : 0, | ||
// trailing comma | ||
'comma-dangle': ['error', 'always-multiline'], | ||
parserOptions: { | ||
parser: 'babel-eslint' | ||
} | ||
} |
{ | ||
"name": "vue-qrcode-reader", | ||
"description": "A Vue.js component, accessing the device camera and allowing users to read QR-Codes, within the browser", | ||
"version": "0.8.8", | ||
"version": "0.8.9", | ||
"author": { | ||
@@ -18,15 +18,10 @@ "name": "Niklas Gruhn", | ||
"license": "MIT", | ||
"main": "dist/vue-qrcode-reader.common.js", | ||
"unpkg": "dist/vue-qrcode-reader.browser.js", | ||
"module": "index.js", | ||
"main": "dist/vue-qrcode-reader.umd.js", | ||
"unpkg": "dist/vue-qrcode-reader.umd.min.js", | ||
"scripts": { | ||
"dev": "cross-env NODE_ENV=development webpack --config config/webpack.config.dev.js --progress --watch", | ||
"build": "npm run build:browser && npm run build:common", | ||
"build:browser": "cross-env NODE_ENV=production webpack --config config/webpack.config.browser.js --progress --hide-modules", | ||
"build:common": "cross-env NODE_ENV=production webpack --config config/webpack.config.common.js --progress --hide-modules", | ||
"prepublish": "npm run build", | ||
"unit": "cross-env BABEL_ENV=test karma start test/unit/karma.conf.js --single-run", | ||
"e2e": "node test/e2e/runner.js", | ||
"test": "npm run unit && npm run e2e", | ||
"lint": "eslint --ext .js,.vue src test/unit/specs test/e2e/specs" | ||
"dev": "vue-cli-service build --watch --target lib src/index.js", | ||
"build": "vue-cli-service build --target lib src/index.js", | ||
"lint": "vue-cli-service lint", | ||
"inspect": "vue-cli-service inspect", | ||
"prepublish": "yarn run build" | ||
}, | ||
@@ -41,51 +36,15 @@ "repository": { | ||
"homepage": "https://github.com/gruhn/vue-qrcode-reader#readme", | ||
"devDependencies": { | ||
"babel-core": "^6.0.0", | ||
"babel-eslint": "^7.1.1", | ||
"babel-loader": "^6.0.0", | ||
"babel-plugin-istanbul": "^4.1.1", | ||
"babel-plugin-transform-runtime": "^6.23.0", | ||
"babel-preset-es2015": "^6.14.0", | ||
"babel-preset-stage-0": "^6.16.0", | ||
"chai": "^3.5.0", | ||
"chromedriver": "^2.27.2", | ||
"cross-env": "^3.1.3", | ||
"cross-spawn": "^5.0.1", | ||
"css-loader": "^0.26.1", | ||
"eslint": "^3.12.1", | ||
"eslint-config-standard": "^6.2.1", | ||
"eslint-loader": "^1.6.1", | ||
"eslint-plugin-html": "^1.6.0", | ||
"eslint-plugin-promise": "^3.4.0", | ||
"eslint-plugin-standard": "^2.0.1", | ||
"extract-text-webpack-plugin": "^2.0.0-beta.4", | ||
"inject-loader": "^3.0.0", | ||
"karma": "^1.7.1", | ||
"karma-coverage": "^1.1.1", | ||
"karma-mocha": "^1.3.0", | ||
"karma-phantomjs-launcher": "^1.0.2", | ||
"karma-phantomjs-shim": "^1.4.0", | ||
"karma-sinon-chai": "^1.3.1", | ||
"karma-sourcemap-loader": "^0.3.7", | ||
"karma-spec-reporter": "0.0.31", | ||
"karma-webpack": "^2.0.2", | ||
"mocha": "^3.2.0", | ||
"nightwatch": "^0.9.12", | ||
"node-sass": "^4.0.0", | ||
"phantomjs-prebuilt": "^2.1.14", | ||
"sass-loader": "^4.1.0", | ||
"selenium-server": "^3.0.1", | ||
"sinon": "^2.1.0", | ||
"sinon-chai": "^2.8.0", | ||
"vue-loader": "^10.0.0", | ||
"vue-template-compiler": "^2.1.6", | ||
"webpack": "^2.1.0-beta.28", | ||
"webpack-merge": "^1.1.2" | ||
}, | ||
"dependencies": { | ||
"babel-runtime": "^6.26.0", | ||
"vue": "^2.5.17", | ||
"jsqr": "^1.1.0", | ||
"lodash": "^4.17.4", | ||
"webrtc-adapter": "^6.2.1" | ||
}, | ||
"devDependencies": { | ||
"@vue/cli-plugin-babel": "^3.0.0", | ||
"@vue/cli-plugin-eslint": "^3.0.0", | ||
"@vue/cli-service": "^3.0.0", | ||
"@vue/eslint-config-standard": "^3.0.1", | ||
"vue-template-compiler": "^2.5.17" | ||
} | ||
} |
@@ -15,8 +15,9 @@ # vue-qrcode-reader | ||
| ![Internet Explorer](https://raw.githubusercontent.com/gruhn/vue-qrcode-reader/master/.github/ie_32x32.png) | ![Edge](https://raw.githubusercontent.com/gruhn/vue-qrcode-reader/master/.github/edge_32x32.png?raw=true) | ![Firefox](https://raw.githubusercontent.com/gruhn/vue-qrcode-reader/master/.github/firefox_32x32.png?raw=true) | ![Chrome](https://raw.githubusercontent.com/gruhn/vue-qrcode-reader/master/.github/chrome_32x32.png) | ![Safari](https://raw.githubusercontent.com/gruhn/vue-qrcode-reader/master/.github/safari_32x32.png) | | ||
| ![Internet Explorer](https://raw.githubusercontent.com/gruhn/vue-qrcode-reader/master/.github/ie_32x32.png) | ![Edge](https://raw.githubusercontent.com/gruhn/vue-qrcode-reader/master/.github/edge_32x32.png) | ![Firefox](https://raw.githubusercontent.com/gruhn/vue-qrcode-reader/master/.github/firefox_32x32.png) | ![Chrome](https://raw.githubusercontent.com/gruhn/vue-qrcode-reader/master/.github/chrome_32x32.png) | ![Safari](https://raw.githubusercontent.com/gruhn/vue-qrcode-reader/master/.github/safari_32x32.png) | | ||
|:--:|:---:|:---:|:---:|:---:| | ||
| No | Yes | Yes | Yes | 11+ | | ||
* Chrome requires [HTTPS or localhost](https://sites.google.com/a/chromium.org/dev/Home/chromium-security/deprecating-powerful-features-on-insecure-origins). | ||
* on iOS, it doesn't (yet?) work in non-Safari browsers (see [#29](../../issues/29)) | ||
* Chrome requires [HTTPS or localhost](https://sites.google.com/a/chromium.org/dev/Home/chromium-security/deprecating-powerful-features-on-insecure-origins) (see [#38](../../issues/38) for help) | ||
* Safari also requires HTTPS **even** on localhost (see [#48](../../issues/48)) | ||
* on iOS it **only** works with Safari. Chrome or Firefox for iOS are not supported (see [#29](../../issues/29)) | ||
* more details on [Caniuse](https://caniuse.com/#feat=stream) | ||
@@ -40,2 +41,4 @@ | ||
> You might notice that when you scan the same QR code multiple times in a row, `decode` is still only emitted once. When you hold a QR code in the camera, frames are actually decoded multiple times a second but you don't want to be flooded with `decode` events that often. That's why the last decoded QR code is always cached and only new results are propagated. However, you can clear this internal cache by setting the `paused` prop to true. | ||
### `detect` event | ||
@@ -84,3 +87,3 @@ The `detect` event is quite similar to `decode` but it provides more details. `decode` only gives you the string encoded by QR codes. `detect` additionally | ||
:point_right: In Chrome you can't prompt users for permissions a second time. Once denied, users can only manually grant them. Make sure your users understand why you need access to their camera **before** you mount this component. Otherwise they might panic and deny and then get frustrated because they don't know how to change their decision. | ||
> In Chrome you can't prompt users for permissions a second time. Once denied, users can only manually grant them. Make sure your users understand why you need access to their camera **before** you mount this component. Otherwise they might panic and deny and then get frustrated because they don't know how to change their decision. | ||
@@ -126,3 +129,3 @@ ```html | ||
:point_right: Avoid access to reactive properties in this function (like stuff in `data`, `computed` or your Vuex store). The function is called several times a second and might cause memory leaks. If you want to be save don't access `this` at all. | ||
> Avoid access to reactive properties in this function (like stuff in `data`, `computed` or your Vuex store). The function is called several times a second and might cause memory leaks. If you want to be save don't access `this` at all. | ||
@@ -161,3 +164,3 @@ Say you want to paint in a different color that better fits your overall page theme. | ||
### Distributed content | ||
### default slot | ||
@@ -174,3 +177,3 @@ Distributed content will overlay the camera stream, wrapped in a `position: absolute` container. | ||
With the `paused` prop you can prevent further `decode` propagation and functions passed via `track` are stopped being called. Useful for example if you're only interested in the first result. This will also freeze the camera stream. | ||
With the `paused` prop you can prevent further `decode` propagation and functions passed via `track` are stopped being called. Useful for example if you want to validate results one at a time. This will also freeze the camera stream. | ||
@@ -216,3 +219,3 @@ ```html | ||
:point_right: If you change this property after initialization, a new camera stream will be requested and the `init` event will be emitted again. | ||
> If you change this property after initialization, a new camera stream will be requested and the `init` event will be emitted again. | ||
@@ -219,0 +222,0 @@ |
@@ -15,7 +15,3 @@ import QrcodeReader from './components/QrcodeReader.vue' | ||
// Plugin | ||
const plugin = { | ||
/* eslint-disable no-undef */ | ||
version: VERSION, | ||
install, | ||
} | ||
const plugin = { install } | ||
@@ -22,0 +18,0 @@ export default plugin |
import { imageDataFromVideo } from './image-data.js' | ||
class Camera { | ||
constructor (videoEl, stream) { | ||
@@ -35,3 +34,2 @@ this.videoEl = videoEl | ||
} | ||
} | ||
@@ -38,0 +36,0 @@ |
@@ -30,3 +30,3 @@ import 'webrtc-adapter' | ||
shouldContinue, | ||
minDelay, | ||
minDelay | ||
} = options | ||
@@ -33,0 +33,0 @@ |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
Uses eval
Supply chain riskPackage uses dynamic code execution (e.g., eval()), which is a dangerous practice. This can prevent the code from running in certain environments and increases the risk that the code may contain exploits or malicious behavior.
Found 2 instances in 1 package
Dynamic require
Supply chain riskDynamic require can indicate the package is performing dangerous or unsafe dynamic code execution.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Uses eval
Supply chain riskPackage uses dynamic code execution (e.g., eval()), which is a dangerous practice. This can prevent the code from running in certain environments and increases the risk that the code may contain exploits or malicious behavior.
Found 1 instance in 1 package
Environment variable access
Supply chain riskPackage accesses environment variables, which may be a sign of credential stuffing or data theft.
Found 2 instances in 1 package
Minified code
QualityThis package contains minified code. This may be harmless in some cases where minified code is included in packaged libraries, however packages on npm should not minify code.
Found 1 instance in 1 package
3943285
5
38087
1
339
25
4
13
+ Addedvue@^2.5.17
+ Added@babel/helper-string-parser@7.24.8(transitive)
+ Added@babel/helper-validator-identifier@7.24.7(transitive)
+ Added@babel/parser@7.25.6(transitive)
+ Added@babel/types@7.25.6(transitive)
+ Added@vue/compiler-sfc@2.7.16(transitive)
+ Addedcsstype@3.1.3(transitive)
+ Addednanoid@3.3.7(transitive)
+ Addedpicocolors@1.1.0(transitive)
+ Addedpostcss@8.4.47(transitive)
+ Addedprettier@2.8.8(transitive)
+ Addedsource-map@0.6.1(transitive)
+ Addedsource-map-js@1.2.1(transitive)
+ Addedto-fast-properties@2.0.0(transitive)
+ Addedvue@2.7.16(transitive)
- Removedbabel-runtime@^6.26.0
- Removedbabel-runtime@6.26.0(transitive)
- Removedcore-js@2.6.12(transitive)
- Removedregenerator-runtime@0.11.1(transitive)