diff --git a/package-lock.json b/package-lock.json index 28aee1b..1174a61 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,11 +1,11 @@ { - "name": "unelma_browser", + "name": "Unelma_Browser", "version": "3.1.2", "lockfileVersion": 2, "requires": true, "packages": { "": { - "name": "unelma_browser", + "name": "Unelma_Browser", "version": "3.1.2", "license": "Apache 2.0", "devDependencies": { @@ -29,7 +29,7 @@ "css-loader": "^6.7.1", "dateformat": "^5.0.3", "dotenv": "^16.0.1", - "electron": "^19.0.0", + "electron": "^v27.0.4", "electron-builder": "^23.1.0", "electron-context-menu": "^3.3.0", "electron-log": "^5.0.0-beta.24", @@ -6154,21 +6154,6 @@ "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", "dev": true }, - "node_modules/concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", - "dev": true, - "engines": [ - "node >= 0.8" - ], - "dependencies": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - } - }, "node_modules/conf": { "version": "10.1.2", "resolved": "https://registry.npmjs.org/conf/-/conf-10.1.2.tgz", @@ -7037,21 +7022,21 @@ } }, "node_modules/electron": { - "version": "19.1.9", - "resolved": "https://registry.npmjs.org/electron/-/electron-19.1.9.tgz", - "integrity": "sha512-XT5LkTzIHB+ZtD3dTmNnKjVBWrDWReCKt9G1uAFLz6uJMEVcIUiYO+fph5pLXETiBw/QZBx8egduMEfIccLx+g==", + "version": "27.0.4", + "resolved": "https://registry.npmjs.org/electron/-/electron-27.0.4.tgz", + "integrity": "sha512-ob29rN1mtiyAXzF8HsHd5jh8bYKd9OQDakfdOExi0F7epU97gXPHaj6JPjbBJ/vpki5d32SyKVePW4vxeNZk1A==", "dev": true, "hasInstallScript": true, "dependencies": { - "@electron/get": "^1.14.1", - "@types/node": "^16.11.26", - "extract-zip": "^1.0.3" + "@electron/get": "^2.0.0", + "@types/node": "^18.11.18", + "extract-zip": "^2.0.1" }, "bin": { "electron": "cli.js" }, "engines": { - "node": ">= 8.6" + "node": ">= 12.20.55" } }, "node_modules/electron-builder": { @@ -7864,42 +7849,202 @@ "tmp": "0.1.0" } }, - "node_modules/electron/node_modules/@types/node": { - "version": "16.18.37", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.37.tgz", - "integrity": "sha512-ql+4dw4PlPFBP495k8JzUX/oMNRI2Ei4PrMHgj8oT4VhGlYUzF4EYr0qk2fW+XBVGIrq8Zzk13m4cvyXZuv4pA==", - "dev": true + "node_modules/electron/node_modules/@electron/get": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@electron/get/-/get-2.0.3.tgz", + "integrity": "sha512-Qkzpg2s9GnVV2I2BjRksUi43U5e6+zaQMcjoJy0C+C5oxaKl+fmckGDQFtRpZpZV0NQekuZZ+tGz7EA9TVnQtQ==", + "dev": true, + "dependencies": { + "debug": "^4.1.1", + "env-paths": "^2.2.0", + "fs-extra": "^8.1.0", + "got": "^11.8.5", + "progress": "^2.0.3", + "semver": "^6.2.0", + "sumchecker": "^3.0.1" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "global-agent": "^3.0.0" + } }, - "node_modules/electron/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "node_modules/electron/node_modules/@sindresorhus/is": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz", + "integrity": "sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/is?sponsor=1" + } + }, + "node_modules/electron/node_modules/@szmarczak/http-timer": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.6.tgz", + "integrity": "sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==", "dev": true, "dependencies": { - "ms": "2.0.0" + "defer-to-connect": "^2.0.0" + }, + "engines": { + "node": ">=10" } }, - "node_modules/electron/node_modules/extract-zip": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.7.0.tgz", - "integrity": "sha512-xoh5G1W/PB0/27lXgMQyIhP5DSY/LhoCsOyZgb+6iMmRtCwVBo55uKaMoEYrDCKQhWvqEip5ZPKAc6eFNyf/MA==", + "node_modules/electron/node_modules/cacheable-request": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.4.tgz", + "integrity": "sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg==", "dev": true, "dependencies": { - "concat-stream": "^1.6.2", - "debug": "^2.6.9", - "mkdirp": "^0.5.4", - "yauzl": "^2.10.0" + "clone-response": "^1.0.2", + "get-stream": "^5.1.0", + "http-cache-semantics": "^4.0.0", + "keyv": "^4.0.0", + "lowercase-keys": "^2.0.0", + "normalize-url": "^6.0.1", + "responselike": "^2.0.0" }, - "bin": { - "extract-zip": "cli.js" + "engines": { + "node": ">=8" } }, - "node_modules/electron/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "node_modules/electron/node_modules/decompress-response": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", + "dev": true, + "dependencies": { + "mimic-response": "^3.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/electron/node_modules/defer-to-connect": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", + "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/electron/node_modules/get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dev": true, + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/electron/node_modules/got": { + "version": "11.8.6", + "resolved": "https://registry.npmjs.org/got/-/got-11.8.6.tgz", + "integrity": "sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==", + "dev": true, + "dependencies": { + "@sindresorhus/is": "^4.0.0", + "@szmarczak/http-timer": "^4.0.5", + "@types/cacheable-request": "^6.0.1", + "@types/responselike": "^1.0.0", + "cacheable-lookup": "^5.0.3", + "cacheable-request": "^7.0.2", + "decompress-response": "^6.0.0", + "http2-wrapper": "^1.0.0-beta.5.2", + "lowercase-keys": "^2.0.0", + "p-cancelable": "^2.0.0", + "responselike": "^2.0.0" + }, + "engines": { + "node": ">=10.19.0" + }, + "funding": { + "url": "https://github.com/sindresorhus/got?sponsor=1" + } + }, + "node_modules/electron/node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", "dev": true }, + "node_modules/electron/node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/electron/node_modules/lowercase-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", + "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/electron/node_modules/mimic-response": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/electron/node_modules/normalize-url": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", + "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/electron/node_modules/p-cancelable": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz", + "integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/electron/node_modules/responselike": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-2.0.1.tgz", + "integrity": "sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==", + "dev": true, + "dependencies": { + "lowercase-keys": "^2.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", @@ -10580,6 +10725,7 @@ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", "dev": true, + "optional": true, "dependencies": { "minimist": "^1.2.6" }, @@ -13330,12 +13476,6 @@ "rxjs": "*" } }, - "node_modules/typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==", - "dev": true - }, "node_modules/uniqid": { "version": "5.4.0", "resolved": "https://registry.npmjs.org/uniqid/-/uniqid-5.4.0.tgz", @@ -18988,18 +19128,6 @@ "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", "dev": true }, - "concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - } - }, "conf": { "version": "10.1.2", "resolved": "https://registry.npmjs.org/conf/-/conf-10.1.2.tgz", @@ -19634,48 +19762,152 @@ } }, "electron": { - "version": "19.1.9", - "resolved": "https://registry.npmjs.org/electron/-/electron-19.1.9.tgz", - "integrity": "sha512-XT5LkTzIHB+ZtD3dTmNnKjVBWrDWReCKt9G1uAFLz6uJMEVcIUiYO+fph5pLXETiBw/QZBx8egduMEfIccLx+g==", + "version": "27.0.4", + "resolved": "https://registry.npmjs.org/electron/-/electron-27.0.4.tgz", + "integrity": "sha512-ob29rN1mtiyAXzF8HsHd5jh8bYKd9OQDakfdOExi0F7epU97gXPHaj6JPjbBJ/vpki5d32SyKVePW4vxeNZk1A==", "dev": true, "requires": { - "@electron/get": "^1.14.1", - "@types/node": "^16.11.26", - "extract-zip": "^1.0.3" + "@electron/get": "^2.0.0", + "@types/node": "^18.11.18", + "extract-zip": "^2.0.1" }, "dependencies": { - "@types/node": { - "version": "16.18.37", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.37.tgz", - "integrity": "sha512-ql+4dw4PlPFBP495k8JzUX/oMNRI2Ei4PrMHgj8oT4VhGlYUzF4EYr0qk2fW+XBVGIrq8Zzk13m4cvyXZuv4pA==", + "@electron/get": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@electron/get/-/get-2.0.3.tgz", + "integrity": "sha512-Qkzpg2s9GnVV2I2BjRksUi43U5e6+zaQMcjoJy0C+C5oxaKl+fmckGDQFtRpZpZV0NQekuZZ+tGz7EA9TVnQtQ==", + "dev": true, + "requires": { + "debug": "^4.1.1", + "env-paths": "^2.2.0", + "fs-extra": "^8.1.0", + "global-agent": "^3.0.0", + "got": "^11.8.5", + "progress": "^2.0.3", + "semver": "^6.2.0", + "sumchecker": "^3.0.1" + } + }, + "@sindresorhus/is": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz", + "integrity": "sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==", "dev": true }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "@szmarczak/http-timer": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.6.tgz", + "integrity": "sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==", "dev": true, "requires": { - "ms": "2.0.0" + "defer-to-connect": "^2.0.0" + } + }, + "cacheable-request": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.4.tgz", + "integrity": "sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg==", + "dev": true, + "requires": { + "clone-response": "^1.0.2", + "get-stream": "^5.1.0", + "http-cache-semantics": "^4.0.0", + "keyv": "^4.0.0", + "lowercase-keys": "^2.0.0", + "normalize-url": "^6.0.1", + "responselike": "^2.0.0" } }, - "extract-zip": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.7.0.tgz", - "integrity": "sha512-xoh5G1W/PB0/27lXgMQyIhP5DSY/LhoCsOyZgb+6iMmRtCwVBo55uKaMoEYrDCKQhWvqEip5ZPKAc6eFNyf/MA==", + "decompress-response": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", "dev": true, "requires": { - "concat-stream": "^1.6.2", - "debug": "^2.6.9", - "mkdirp": "^0.5.4", - "yauzl": "^2.10.0" + "mimic-response": "^3.1.0" } }, - "ms": { + "defer-to-connect": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", + "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==", + "dev": true + }, + "get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "got": { + "version": "11.8.6", + "resolved": "https://registry.npmjs.org/got/-/got-11.8.6.tgz", + "integrity": "sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==", + "dev": true, + "requires": { + "@sindresorhus/is": "^4.0.0", + "@szmarczak/http-timer": "^4.0.5", + "@types/cacheable-request": "^6.0.1", + "@types/responselike": "^1.0.0", + "cacheable-lookup": "^5.0.3", + "cacheable-request": "^7.0.2", + "decompress-response": "^6.0.0", + "http2-wrapper": "^1.0.0-beta.5.2", + "lowercase-keys": "^2.0.0", + "p-cancelable": "^2.0.0", + "responselike": "^2.0.0" + } + }, + "json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true + }, + "keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "requires": { + "json-buffer": "3.0.1" + } + }, + "lowercase-keys": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", + "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", + "dev": true + }, + "mimic-response": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", + "dev": true + }, + "normalize-url": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", + "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", "dev": true + }, + "p-cancelable": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz", + "integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==", + "dev": true + }, + "responselike": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-2.0.1.tgz", + "integrity": "sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==", + "dev": true, + "requires": { + "lowercase-keys": "^2.0.0" + } } } }, @@ -22365,6 +22597,7 @@ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", "dev": true, + "optional": true, "requires": { "minimist": "^1.2.6" } @@ -24492,12 +24725,6 @@ "rxjs": "*" } }, - "typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==", - "dev": true - }, "uniqid": { "version": "5.4.0", "resolved": "https://registry.npmjs.org/uniqid/-/uniqid-5.4.0.tgz", diff --git a/package.json b/package.json index 0d5c0ee..d7264ce 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "Unelma_Browser", - "version": "3.1.2", + "version": "3.1.3", "description": "Unelma Browser - a browser for free world ", "main": ".webpack/main", "scripts": { @@ -79,7 +79,7 @@ "css-loader": "^6.7.1", "dateformat": "^5.0.3", "dotenv": "^16.0.1", - "electron": "^19.0.0", + "electron": "^v27.0.4", "electron-builder": "^23.1.0", "electron-context-menu": "^3.3.0", "electron-log": "^5.0.0-beta.24", diff --git a/src/main/Services/MainWindow.js b/src/main/Services/MainWindow.js index bd33e52..c11f0c2 100644 --- a/src/main/Services/MainWindow.js +++ b/src/main/Services/MainWindow.js @@ -1,4 +1,4 @@ -import { app,BrowserWindow, ipcMain, session } from "electron"; +import { app, BrowserWindow, ipcMain, session } from 'electron'; import { ACTIVATE_VIEW, ADD_VIEW, @@ -24,19 +24,19 @@ import { TOGGLE_WINDOW, WINDOW_READY, FINISH_NAVIGATE, -} from "../../constants/global/channels"; -import { UNELMA_DEFAULT_URL } from "../../constants/global/urls"; -import { getBookmarks } from "../controllers/bookmarks"; -import { addAuthInfo, getAuthInfo } from "../controllers/passwords"; -import { addHistory, getSearchHistory } from "../controllers/searchHistory"; -import { getWindowTabs, setTabs, resetWindowTabs } from "../controllers/tabs"; -import { handleWindowsControlsMessaging } from "../utils/ipc"; -import { View } from "./View"; -const fs = require("fs"); -const uniqid = require("uniqid"); -const path = require("path"); -const Store = require("electron-store"); -import * as ABPFilterParser from "abp-filter-parser"; +} from '../../constants/global/channels'; +import { UNELMA_DEFAULT_URL } from '../../constants/global/urls'; +import { getBookmarks } from '../controllers/bookmarks'; +import { addAuthInfo, getAuthInfo } from '../controllers/passwords'; +import { addHistory, getSearchHistory } from '../controllers/searchHistory'; +import { getWindowTabs, setTabs, resetWindowTabs } from '../controllers/tabs'; +import { handleWindowsControlsMessaging } from '../utils/ipc'; +import { View } from './View'; +const fs = require('fs'); +const uniqid = require('uniqid'); +const path = require('path'); +const Store = require('electron-store'); +import * as ABPFilterParser from 'abp-filter-parser'; const store = new Store(); export class MainWindow { @@ -48,13 +48,13 @@ export class MainWindow { this.isToggled = false; this.window = new BrowserWindow({ transparent: true, - title: "UnelmaSearch - Browser", + title: 'UnelmaSearch - Browser', width: 1024, height: 768, - backgroundColor: "rgba(0,0,0,0)", - icon: path.join(__dirname, "./img/unp.ico"), + backgroundColor: 'rgba(0,0,0,0)', + icon: path.join(__dirname, './img/unp.ico'), frame: false, - titleBarStyle: "hidden", + titleBarStyle: 'hidden', minHeight: 600, minWidth: 1000, webPreferences: { @@ -150,8 +150,8 @@ export class MainWindow { ipcMain.on(mergeChannel(REMOVE_VIEW, this.window.windowId), (_, id) => { this.removeView(id); }); - this.window.webContents.on("did-finish-load", () => { - this.window.addListener("resize", () => { + this.window.webContents.on('did-finish-load', () => { + this.window.addListener('resize', () => { this.views.find((v) => v.isActive && !v.hidden)?.fit(!this.isToggled); }); this.send(WINDOW_READY, this.window.windowId); @@ -160,36 +160,36 @@ export class MainWindow { this.send(GET_SEARCH_HISTORY, getSearchHistory()); this.send(GET_BOOKMARKS, getBookmarks()); this.send(GET_AUTH_INFO, getAuthInfo()); - this.window.on("closed", () => { + this.window.on('closed', () => { this.window = null; }); }); this.window.setMenu(null); this.window.maximize(); const windowTabs = getWindowTabs(this.window.windowId); - if (windowTabs.length === 0) { + if (windowTabs.length === 0) { + this.addView({ + url: !initialUrl ? UNELMA_DEFAULT_URL : initialUrl, // Loads custom link if given a paremeter otherwise loads, default url. + parentWindow: this.window, + isActive: true, + id: uniqid(), + isToggled: this.isToggled, + }); + } else { + windowTabs.forEach((tab) => { this.addView({ - url: !initialUrl ? UNELMA_DEFAULT_URL : initialUrl, // Loads custom link if given a paremeter otherwise loads, default url. + url: tab.url, parentWindow: this.window, - isActive: true, - id: uniqid(), + isActive: tab.active, + id: tab.id, isToggled: this.isToggled, }); - } else { - windowTabs.forEach((tab) => { - this.addView({ - url: tab.url, - parentWindow: this.window, - isActive: tab.active, - id: tab.id, - isToggled: this.isToggled, - }); - }); - } + }); + } session.defaultSession.webRequest.onSendHeaders( - { urls: ["https://*/*"] }, + { urls: ['https://*/*'] }, function (details) { - if (details?.webContents?.getType() === "browserView") { + if (details?.webContents?.getType() === 'browserView') { details?.webContents?.send( REQUEST_START, details?.webContents?.getURL() @@ -200,10 +200,10 @@ export class MainWindow { let parsedFilterData = {}; - let currentPageDomain = "slashdot.org"; - ABPFilterParser.parse(store.get("easylist"), parsedFilterData); + let currentPageDomain = 'slashdot.org'; + ABPFilterParser.parse(store.get('easylist'), parsedFilterData); this.window.webContents.session.webRequest.onBeforeRequest( - { urls: ["https://*/*"] }, + { urls: ['https://*/*'] }, (details, callback) => { let urlToCheck = details.url; if ( @@ -213,12 +213,12 @@ export class MainWindow { }) ) { callback({ cancel: true }); - if (details?.webContents?.getType() === "browserView") { - details?.webContents?.send("as", details?.webContents?.getURL()); + if (details?.webContents?.getType() === 'browserView') { + details?.webContents?.send('as', details?.webContents?.getURL()); } } else { - if (details?.webContents?.getType() === "browserView") { - details?.webContents?.send("as", details?.webContents?.getURL()); + if (details?.webContents?.getType() === 'browserView') { + details?.webContents?.send('as', details?.webContents?.getURL()); } callback({}); } @@ -246,21 +246,23 @@ export class MainWindow { if (!e.sender?.getURL()) this.removeView(props.id); view?.contents?.send(FINISH_NAVIGATE); }; - view?.contents?.addListener("did-start-loading", (e) => { + view?.contents?.addListener('did-start-loading', (e) => { view.startLoad(); this.sendTabs(); }); - view?.contents?.addListener("did-navigate", () => { + view?.contents?.addListener('did-navigate', () => { view?.contents?.send(FINISH_NAVIGATE); }); - view?.contents?.addListener("did-fail-load", () => { + view?.contents?.addListener('did-fail-load', () => { view.failLoad(); this.sendTabs(); }); - view?.contents?.addListener("did-stop-loading", (e) => { + view?.contents?.addListener('did-stop-loading', (e) => { + e.sender = view?.contents; finishLoading(e); }); - view?.contents?.addListener("did-finish-load", (e) => { + view?.contents?.addListener('did-finish-load', (e) => { + e.sender = view?.contents; finishLoading(e); addHistory({ id: uniqid(), @@ -270,7 +272,8 @@ export class MainWindow { this.send(GET_SEARCH_HISTORY, getSearchHistory()); }); - view?.contents?.addListener("did-frame-finish-load", (e) => { + view?.contents?.addListener('did-frame-finish-load', (e) => { + e.sender = view?.contents; finishLoading(e); }); view?.contents?.setWindowOpenHandler(({ url }) => { @@ -280,7 +283,7 @@ export class MainWindow { id: uniqid(), isToggled: this.isToggled, }); - return { action: "deny" }; + return { action: 'deny' }; }); this.sendTabs(); } @@ -354,15 +357,17 @@ export class MainWindow { } mapViews() { try { - return this.views.map(({ id, url, isActive, parentWindow, loading, title, fail }) => ({ - id, - url, - active: isActive, - windowId: parentWindow.windowId, - title, - loading, - fail, - })); + return this.views.map( + ({ id, url, isActive, parentWindow, loading, title, fail }) => ({ + id, + url, + active: isActive, + windowId: parentWindow.windowId, + title, + loading, + fail, + }) + ); } catch (error) { console.error(error); return []; @@ -379,7 +384,7 @@ export class MainWindow { console.error(error); } } - + hideAllViews() { this.views.forEach((view) => view.hide()); }