From 3732d365dd587481c5d74699d16c57d160f24540 Mon Sep 17 00:00:00 2001 From: Grzegorz Kucmierz Date: Sat, 28 Feb 2026 17:31:04 +0000 Subject: [PATCH] refactor: replace vue-qrcode-reader with custom native QR scanner using local BarcodeDetector polyfill --- package-lock.json | 58 -------- package.json | 1 - src/components/tools/QrScanner.vue | 218 ++++++++++++++++++----------- 3 files changed, 140 insertions(+), 137 deletions(-) diff --git a/package-lock.json b/package-lock.json index abf37a8..97ce80d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13,7 +13,6 @@ "lucide-vue-next": "^0.575.0", "qrcode": "^1.5.4", "vue": "^3.5.25", - "vue-qrcode-reader": "^5.7.3", "vue-router": "^5.0.3" }, "devDependencies": { @@ -2518,12 +2517,6 @@ "sourcemap-codec": "^1.4.8" } }, - "node_modules/@types/dom-webcodecs": { - "version": "0.1.18", - "resolved": "https://registry.npmjs.org/@types/dom-webcodecs/-/dom-webcodecs-0.1.18.tgz", - "integrity": "sha512-vAvE8C9DGWR+tkb19xyjk1TSUlJ7RUzzp4a9Anu7mwBT+fpyePWK1UxmH14tMO5zHmrnrRIMg5NutnnDztLxgg==", - "license": "MIT" - }, "node_modules/@types/emscripten": { "version": "1.41.5", "resolved": "https://registry.npmjs.org/@types/emscripten/-/emscripten-1.41.5.tgz", @@ -5472,12 +5465,6 @@ "integrity": "sha512-6FtHJEvt+pVMIB9IBY+IcCJ6Z5f1iQnytgyfKMhDKgmzYG+TeH/wx1y3l27rshSbLiSanrR9ffZDrEsmjlQF2g==", "license": "MIT" }, - "node_modules/sdp": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/sdp/-/sdp-3.2.1.tgz", - "integrity": "sha512-lwsAIzOPlH8/7IIjjz3K0zYBk7aBVVcvjMwt3M4fLxpjMYyy7i3I97SLHebgn4YBjirkzfp3RvRDWSKsh/+WFw==", - "license": "MIT" - }, "node_modules/semver": { "version": "6.3.1", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", @@ -6381,38 +6368,6 @@ } } }, - "node_modules/vue-qrcode-reader": { - "version": "5.7.3", - "resolved": "https://registry.npmjs.org/vue-qrcode-reader/-/vue-qrcode-reader-5.7.3.tgz", - "integrity": "sha512-iSGko42FsEvdHyizBMBs/X+HMO9Z5ONDxjW+mQdoraOR5emRNedmjC5SEJdYzGz8ZP5ME3lwB4iHy3S7MOt5Qw==", - "license": "MIT", - "dependencies": { - "barcode-detector": "2.2.2", - "webrtc-adapter": "8.2.3" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/vue-qrcode-reader/node_modules/barcode-detector": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/barcode-detector/-/barcode-detector-2.2.2.tgz", - "integrity": "sha512-JcSekql+EV93evfzF9zBr+Y6aRfkR+QFvgyzbwQ0dbymZXoAI9+WgT7H1E429f+3RKNncHz2CW98VQtaaKpmfQ==", - "license": "MIT", - "dependencies": { - "@types/dom-webcodecs": "^0.1.11", - "zxing-wasm": "1.1.3" - } - }, - "node_modules/vue-qrcode-reader/node_modules/zxing-wasm": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/zxing-wasm/-/zxing-wasm-1.1.3.tgz", - "integrity": "sha512-MYm9k/5YVs4ZOTIFwlRjfFKD0crhefgbnt1+6TEpmKUDFp3E2uwqGSKwQOd2hOIsta/7Usq4hnpNRYTLoljnfA==", - "license": "MIT", - "dependencies": { - "@types/emscripten": "^1.39.10" - } - }, "node_modules/vue-router": { "version": "5.0.3", "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-5.0.3.tgz", @@ -6471,19 +6426,6 @@ "integrity": "sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==", "license": "MIT" }, - "node_modules/webrtc-adapter": { - "version": "8.2.3", - "resolved": "https://registry.npmjs.org/webrtc-adapter/-/webrtc-adapter-8.2.3.tgz", - "integrity": "sha512-gnmRz++suzmvxtp3ehQts6s2JtAGPuDPjA1F3a9ckNpG1kYdYuHWYpazoAnL9FS5/B21tKlhkorbdCXat0+4xQ==", - "license": "BSD-3-Clause", - "dependencies": { - "sdp": "^3.2.0" - }, - "engines": { - "node": ">=6.0.0", - "npm": ">=3.10.0" - } - }, "node_modules/whatwg-url": { "version": "7.1.0", "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", diff --git a/package.json b/package.json index 9440787..8dda3c0 100644 --- a/package.json +++ b/package.json @@ -14,7 +14,6 @@ "lucide-vue-next": "^0.575.0", "qrcode": "^1.5.4", "vue": "^3.5.25", - "vue-qrcode-reader": "^5.7.3", "vue-router": "^5.0.3" }, "devDependencies": { diff --git a/src/components/tools/QrScanner.vue b/src/components/tools/QrScanner.vue index c8e77f7..63b332f 100644 --- a/src/components/tools/QrScanner.vue +++ b/src/components/tools/QrScanner.vue @@ -1,7 +1,6 @@