diff --git a/wowup-electron/package-lock.json b/wowup-electron/package-lock.json index a5fe9a01..8ae780f1 100644 --- a/wowup-electron/package-lock.json +++ b/wowup-electron/package-lock.json @@ -1,25 +1,25 @@ { "name": "wowup", - "version": "2.7.0-beta.4", + "version": "2.7.0-beta.5", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "wowup", - "version": "2.7.0-beta.4", + "version": "2.7.0-beta.5", "hasInstallScript": true, "dependencies": { - "@angular/animations": "13.2.3", - "@angular/cdk": "13.2.3", - "@angular/common": "13.2.3", - "@angular/compiler": "13.2.3", - "@angular/compiler-cli": "13.2.3", - "@angular/core": "13.2.3", - "@angular/forms": "13.2.3", - "@angular/material": "13.2.3", - "@angular/platform-browser": "13.2.3", - "@angular/platform-browser-dynamic": "13.2.3", - "@angular/router": "13.2.3", + "@angular/animations": "13.2.6", + "@angular/cdk": "13.2.6", + "@angular/common": "13.2.6", + "@angular/compiler": "13.2.6", + "@angular/compiler-cli": "13.2.6", + "@angular/core": "13.2.6", + "@angular/forms": "13.2.6", + "@angular/material": "13.2.6", + "@angular/platform-browser": "13.2.6", + "@angular/platform-browser-dynamic": "13.2.6", + "@angular/router": "13.2.6", "@bbob/core": "2.8.0", "@bbob/html": "2.8.0", "@bbob/preset-html5": "2.8.0", @@ -29,7 +29,7 @@ "@fortawesome/free-brands-svg-icons": "6.0.0", "@fortawesome/free-regular-svg-icons": "6.0.0", "@fortawesome/free-solid-svg-icons": "6.0.0", - "@microsoft/applicationinsights-web": "2.7.3", + "@microsoft/applicationinsights-web": "2.7.4", "adm-zip": "0.5.9", "ag-grid-angular": "27.0.0", "ag-grid-community": "27.0.1", @@ -46,7 +46,7 @@ "messageformat": "2.3.0", "minimist": "1.2.5", "nanoid": "3.3.1", - "ng-gallery": "6.0.0", + "ng-gallery": "6.0.1", "ngx-translate-messageformat-compiler": "5.0.1", "node-cache": "5.1.2", "node-disk-info": "1.3.0", @@ -55,24 +55,24 @@ "protobufjs": "6.11.2", "pushy-electron": "1.0.8", "rxjs": "7.5.4", - "slug": "5.2.0", + "slug": "5.3.0", "string-similarity": "4.0.4", "ts-custom-error": "3.2.0", "tslib": "2.3.1", "uuid": "8.3.2", - "win-ca": "3.4.5", + "win-ca": "3.5.0", "yauzl": "2.10.0", "zone.js": "0.11.4" }, "devDependencies": { "@angular-builders/custom-webpack": "13.1.0", - "@angular-devkit/build-angular": "13.2.4", + "@angular-devkit/build-angular": "13.2.6", "@angular-eslint/builder": "13.1.0", "@angular-eslint/eslint-plugin": "13.1.0", "@angular-eslint/eslint-plugin-template": "13.1.0", "@angular-eslint/schematics": "13.1.0", "@angular-eslint/template-parser": "13.1.0", - "@angular/cli": "13.2.4", + "@angular/cli": "13.2.6", "@ngx-translate/core": "14.0.0", "@ngx-translate/http-loader": "7.0.0", "@types/adm-zip": "0.4.34", @@ -81,7 +81,7 @@ "@types/globrex": "0.1.1", "@types/jasmine": "3.10.3", "@types/jasminewd2": "2.0.10", - "@types/lodash": "4.14.178", + "@types/lodash": "4.14.179", "@types/markdown-it": "12.2.3", "@types/mocha": "9.1.0", "@types/node": "16.11.10", @@ -90,22 +90,22 @@ "@types/slug": "5.0.3", "@types/string-similarity": "4.0.0", "@types/uuid": "8.3.4", - "@typescript-eslint/eslint-plugin": "5.12.1", - "@typescript-eslint/eslint-plugin-tslint": "5.12.1", - "@typescript-eslint/parser": "5.12.1", + "@typescript-eslint/eslint-plugin": "5.14.0", + "@typescript-eslint/eslint-plugin-tslint": "5.14.0", + "@typescript-eslint/parser": "5.14.0", "chai": "4.3.6", "core-js": "3.21.1", "cross-env": "7.0.3", "del": "6.0.0", "dotenv": "16.0.0", - "electron": "17.1.0", - "electron-builder": "22.14.5", + "electron": "17.1.2", + "electron-builder": "22.14.13", "electron-notarize": "1.1.1", "electron-reload": "2.0.0-alpha.1", - "eslint": "8.9.0", - "eslint-config-prettier": "8.4.0", + "eslint": "8.10.0", + "eslint-config-prettier": "8.5.0", "eslint-plugin-import": "2.25.4", - "eslint-plugin-jsdoc": "37.9.4", + "eslint-plugin-jsdoc": "38.0.0", "eslint-plugin-prefer-arrow": "1.2.3", "flat": "5.0.2", "gulp": "4.0.2", @@ -120,8 +120,8 @@ "karma-jasmine-html-reporter": "1.7.0", "mocha": "9.2.1", "node-addon-api": "4.3.0", - "node-fetch": "3.2.0", - "node-gyp": "8.4.1", + "node-fetch": "3.2.2", + "node-gyp": "9.0.0", "npm-run-all": "4.1.5", "prettier": "2.5.1", "spectron": "19.0.0", @@ -166,12 +166,12 @@ } }, "node_modules/@angular-devkit/architect": { - "version": "0.1302.4", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1302.4.tgz", - "integrity": "sha512-9dS0Gvs4ER1DPSnKorJ4uk27A/rWwyvNy5CheOZu4ZTUnggGA7SFtMG7CKPD11Ae01lIMfxKfDqJYE8j2VpQaw==", + "version": "0.1302.6", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1302.6.tgz", + "integrity": "sha512-NztzorUMfwJeRaT7SY00Y8WSqc2lQYuF11yNoyEm7Dae3V7VZ28rW2Z9RwibP27rYQL0RjSMaz2wKITHX2vOAw==", "dev": true, "dependencies": { - "@angular-devkit/core": "13.2.4", + "@angular-devkit/core": "13.2.6", "rxjs": "6.6.7" }, "engines": { @@ -199,15 +199,15 @@ "dev": true }, "node_modules/@angular-devkit/build-angular": { - "version": "13.2.4", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-13.2.4.tgz", - "integrity": "sha512-8fKIBMsQOIg+UFj+wL95SRYs/ED90cX3fjCKonE9TdOPLCEXC+nlZ0nbY45aGCmKiYlY9c9zhQiwgCGdVKSGYQ==", + "version": "13.2.6", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-13.2.6.tgz", + "integrity": "sha512-Y2ojy6xbZ0kwScppcutLHBP8eW0qNOjburTISSBU/L5l/9FOeZ1E7yAreKuVu/qibZiLbSJfAhk+SLwhRHFSSQ==", "dev": true, "dependencies": { "@ampproject/remapping": "1.1.1", - "@angular-devkit/architect": "0.1302.4", - "@angular-devkit/build-webpack": "0.1302.4", - "@angular-devkit/core": "13.2.4", + "@angular-devkit/architect": "0.1302.6", + "@angular-devkit/build-webpack": "0.1302.6", + "@angular-devkit/core": "13.2.6", "@babel/core": "7.16.12", "@babel/generator": "7.16.8", "@babel/helper-annotate-as-pure": "7.16.7", @@ -218,7 +218,7 @@ "@babel/runtime": "7.16.7", "@babel/template": "7.16.7", "@discoveryjs/json-ext": "0.5.6", - "@ngtools/webpack": "13.2.4", + "@ngtools/webpack": "13.2.6", "ansi-colors": "4.1.1", "babel-loader": "8.2.3", "babel-plugin-istanbul": "6.1.1", @@ -259,7 +259,7 @@ "source-map-support": "0.5.21", "stylus": "0.56.0", "stylus-loader": "6.2.0", - "terser": "5.10.0", + "terser": "5.11.0", "text-table": "0.2.0", "tree-kill": "1.2.2", "tslib": "2.3.1", @@ -308,22 +308,6 @@ } } }, - "node_modules/@angular-devkit/build-angular/node_modules/@ngtools/webpack": { - "version": "13.2.4", - "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-13.2.4.tgz", - "integrity": "sha512-+1wPzxKSrbf5ghFq5YWZvrPy7IACa+0AF16JYpWcdcW1D1u0Ug22IYN8gyEt7waJnD1HJn/d0jaeKNNpJiW1Cg==", - "dev": true, - "engines": { - "node": "^12.20.0 || ^14.15.0 || >=16.10.0", - "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", - "yarn": ">= 1.13.0" - }, - "peerDependencies": { - "@angular/compiler-cli": "^13.0.0", - "typescript": ">=4.4.3 <4.6", - "webpack": "^5.30.0" - } - }, "node_modules/@angular-devkit/build-angular/node_modules/core-js": { "version": "3.20.3", "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.20.3.tgz", @@ -354,12 +338,12 @@ "dev": true }, "node_modules/@angular-devkit/build-webpack": { - "version": "0.1302.4", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1302.4.tgz", - "integrity": "sha512-GNHXSSnIbL4Oi3fBHTtRyQ308YMSDdKs/bVrArIq8QDbiCuB3RQfooEfvkoN2M++MeSW0vNqtQ7pZyxqRey6fQ==", + "version": "0.1302.6", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1302.6.tgz", + "integrity": "sha512-TYEh2n9tPe932rEIgdiSpojOqtDppW2jzb/empVqCkLF7WUZsXKvTanttZC34L6R2VD6SAGWhb6JDg75ghUVYA==", "dev": true, "dependencies": { - "@angular-devkit/architect": "0.1302.4", + "@angular-devkit/architect": "0.1302.6", "rxjs": "6.6.7" }, "engines": { @@ -391,9 +375,9 @@ "dev": true }, "node_modules/@angular-devkit/core": { - "version": "13.2.4", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-13.2.4.tgz", - "integrity": "sha512-hSw1JWA/6dDAF/xleQRXGtzHphfU49TMUhvAoAmsmmz3NAn03xLy1dtqdIXIf+TkFXVvZDaAB2mW8KfRV67GFg==", + "version": "13.2.6", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-13.2.6.tgz", + "integrity": "sha512-8h2mWdBTN/dYwZuzKMg2IODlOWMdbJcpQG4XVrkk9ejCPP+3aX5Aa3glCe/voN6eBNiRfs8YDM0jxmpN2aWVtg==", "dev": true, "dependencies": { "ajv": "8.9.0", @@ -436,12 +420,12 @@ "dev": true }, "node_modules/@angular-devkit/schematics": { - "version": "13.2.4", - "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-13.2.4.tgz", - "integrity": "sha512-VMhYa4cDu5yE31OvHncAd15Rmlchih/Sr6sxFsIwkg4xzRNIIZCtwqxVXgf0TiTN9zrvlvzK7nhPqTGNqqYb2A==", + "version": "13.2.6", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-13.2.6.tgz", + "integrity": "sha512-mPgSqdnZRuPSMeUA+T+mwVCrq2yhXpcYm1/Rjbhy09CyHs4wSrFv21WHCrE6shlvXpcmwr0n+I0DIeagAPmjUA==", "dev": true, "dependencies": { - "@angular-devkit/core": "13.2.4", + "@angular-devkit/core": "13.2.6", "jsonc-parser": "3.0.0", "magic-string": "0.25.7", "ora": "5.4.1", @@ -719,9 +703,9 @@ } }, "node_modules/@angular/animations": { - "version": "13.2.3", - "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-13.2.3.tgz", - "integrity": "sha512-HfNNpDMSf5Var2Ti/vrmy576Uyp68hRaSNdFxxO9OYG3qH/5ZYVAv5ixz8Wu4RE+Lmw9jjzEfpL0BvK6BYWa4g==", + "version": "13.2.6", + "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-13.2.6.tgz", + "integrity": "sha512-DrjpKo68uR3lSLQQXosoTCbjKQS6IKRCpR14E2t8fo0AX8i2hkB8je4SrhdCyB7FgFN7l2kgUYo4Qa8+BOB+aA==", "dependencies": { "tslib": "^2.3.0" }, @@ -729,13 +713,13 @@ "node": "^12.20.0 || ^14.15.0 || >=16.10.0" }, "peerDependencies": { - "@angular/core": "13.2.3" + "@angular/core": "13.2.6" } }, "node_modules/@angular/cdk": { - "version": "13.2.3", - "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-13.2.3.tgz", - "integrity": "sha512-X7FH0eGwfK2HcAroYBrE7O9ehZ50k9+DoDV98xm1NRgezNfiQ2QxIdLQKhJv0bnnID+pGk4Tnb44RXUmgk5idw==", + "version": "13.2.6", + "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-13.2.6.tgz", + "integrity": "sha512-epuXmaHqfukwPsYvIksbuHLXDtb6GALV2Vgv6W2asj4TorD584CeQTs0EcdPGmCzhGUYI8U8QV63WOxu9YFcNA==", "dependencies": { "tslib": "^2.3.0" }, @@ -749,16 +733,16 @@ } }, "node_modules/@angular/cli": { - "version": "13.2.4", - "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-13.2.4.tgz", - "integrity": "sha512-Llk0RzrpzCsAIgX4wk8QIB7xZInyLT07r6gF9dc9b0latHsJyRpeZXdPcFmT2wny0cin+1Y9q6HsBe4Srs19SA==", + "version": "13.2.6", + "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-13.2.6.tgz", + "integrity": "sha512-xIjEaQI5sWemXXc7GXLm4u9UL5sjtrQL/y1PJvvk/Jsa8+kIT+MutOfZfC7zcdAh9fqHd8mokH3guFV8BJdFxA==", "dev": true, "hasInstallScript": true, "dependencies": { - "@angular-devkit/architect": "0.1302.4", - "@angular-devkit/core": "13.2.4", - "@angular-devkit/schematics": "13.2.4", - "@schematics/angular": "13.2.4", + "@angular-devkit/architect": "0.1302.6", + "@angular-devkit/core": "13.2.6", + "@angular-devkit/schematics": "13.2.6", + "@schematics/angular": "13.2.6", "@yarnpkg/lockfile": "1.1.0", "ansi-colors": "4.1.1", "debug": "4.3.3", @@ -785,9 +769,9 @@ } }, "node_modules/@angular/common": { - "version": "13.2.3", - "resolved": "https://registry.npmjs.org/@angular/common/-/common-13.2.3.tgz", - "integrity": "sha512-aK42bLd8VIVsUPcIaPw+dwD3c1d7rigTUMbNQ7zqyEQMCajLPakpzM9QEnywdzWSJTJFUbp3h39jD7ZzQPuTTQ==", + "version": "13.2.6", + "resolved": "https://registry.npmjs.org/@angular/common/-/common-13.2.6.tgz", + "integrity": "sha512-t4XRb9db4UeRcPs5aHNtGuXRKSvGBlTEr0zzSeoKzHD9TCaO4dSDISh9obS9hThaPuBmPKRUHN5KE1HFmqnSHg==", "dependencies": { "tslib": "^2.3.0" }, @@ -795,14 +779,14 @@ "node": "^12.20.0 || ^14.15.0 || >=16.10.0" }, "peerDependencies": { - "@angular/core": "13.2.3", + "@angular/core": "13.2.6", "rxjs": "^6.5.3 || ^7.4.0" } }, "node_modules/@angular/compiler": { - "version": "13.2.3", - "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-13.2.3.tgz", - "integrity": "sha512-WUjzs0xa2UTHOChEs+cHHj75AieiwSvEKBoXjyINNUnmbyf3Q+khLlBScjB+40Y/zSDi1mKxuolv4KfyREk4DA==", + "version": "13.2.6", + "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-13.2.6.tgz", + "integrity": "sha512-LHU29J2/c/03WHkwtzUSElTBsXbzkKdYARodnNfsFdLPsWhyvzO3cqlcZYteFJxEy3dVH+ZrYDjqQ9Sp17aIgA==", "dependencies": { "tslib": "^2.3.0" }, @@ -811,15 +795,15 @@ } }, "node_modules/@angular/compiler-cli": { - "version": "13.2.3", - "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-13.2.3.tgz", - "integrity": "sha512-Y3q1rjb6aqCMEAkDwzvTNjAkHbQWDmDIApTaqAZul2GsuTvqPLfdriSMxBAFe1WOfw+fKdncsMnV35ij+iOnHA==", + "version": "13.2.6", + "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-13.2.6.tgz", + "integrity": "sha512-QtlLKj3m6a2nkewFxhg+a3tQ2gEIBzMfI2c1laWUfAfJJ56phj79k8Z/kf2HQxypphWixyTK+ugpTlMdvvOquA==", "dependencies": { - "@babel/core": "^7.8.6", + "@babel/core": "^7.17.2", "chokidar": "^3.0.0", "convert-source-map": "^1.5.1", "dependency-graph": "^0.11.0", - "magic-string": "^0.25.0", + "magic-string": "^0.26.0", "reflect-metadata": "^0.1.2", "semver": "^7.0.0", "sourcemap-codec": "^1.4.8", @@ -835,14 +819,94 @@ "node": "^12.20.0 || ^14.15.0 || >=16.10.0" }, "peerDependencies": { - "@angular/compiler": "13.2.3", + "@angular/compiler": "13.2.6", "typescript": ">=4.4.2 <4.6" } }, + "node_modules/@angular/compiler-cli/node_modules/@ampproject/remapping": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.1.2.tgz", + "integrity": "sha512-hoyByceqwKirw7w3Z7gnIIZC3Wx3J484Y3L/cMpXFbr7d9ZQj2mODrirNzcJa+SM3UlpWXYvKV4RlRpFXlWgXg==", + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@angular/compiler-cli/node_modules/@babel/core": { + "version": "7.17.5", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.17.5.tgz", + "integrity": "sha512-/BBMw4EvjmyquN5O+t5eh0+YqB3XXJkYD2cjKpYtWOfFy4lQ4UozNSmxAcWT8r2XtZs0ewG+zrfsqeR15i1ajA==", + "dependencies": { + "@ampproject/remapping": "^2.1.0", + "@babel/code-frame": "^7.16.7", + "@babel/generator": "^7.17.3", + "@babel/helper-compilation-targets": "^7.16.7", + "@babel/helper-module-transforms": "^7.16.7", + "@babel/helpers": "^7.17.2", + "@babel/parser": "^7.17.3", + "@babel/template": "^7.16.7", + "@babel/traverse": "^7.17.3", + "@babel/types": "^7.17.0", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.1.2", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@angular/compiler-cli/node_modules/@babel/core/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@angular/compiler-cli/node_modules/@babel/generator": { + "version": "7.17.3", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.17.3.tgz", + "integrity": "sha512-+R6Dctil/MgUsZsZAkYgK+ADNSZzJRRy0TvY65T71z/CR854xHQ1EweBYXdfT+HNeN7w0cSJJEzgxZMv40pxsg==", + "dependencies": { + "@babel/types": "^7.17.0", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@angular/compiler-cli/node_modules/magic-string": { + "version": "0.26.1", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.26.1.tgz", + "integrity": "sha512-ndThHmvgtieXe8J/VGPjG+Apu7v7ItcD5mhEIvOscWjPF/ccOiLxHaSuCAS2G+3x4GKsAbT8u7zdyamupui8Tg==", + "dependencies": { + "sourcemap-codec": "^1.4.8" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@angular/compiler-cli/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/@angular/core": { - "version": "13.2.3", - "resolved": "https://registry.npmjs.org/@angular/core/-/core-13.2.3.tgz", - "integrity": "sha512-81QtWR+UQgCo5xJwExzKaRUd9aXJoOGbWfh3MZSUkiv+PTMXwmfU3lZxpz9S/y2uwvaVqZdW5MN/RzpKv6tHxA==", + "version": "13.2.6", + "resolved": "https://registry.npmjs.org/@angular/core/-/core-13.2.6.tgz", + "integrity": "sha512-ctWsxuaSO3d3afLW+wkJSyiEIA2uhaTKNps9x5wz/oZJDaUDYVa4PM4x7/UHn2bXzBjXjN9LSW8h9F31iwmcTg==", "dependencies": { "tslib": "^2.3.0" }, @@ -855,9 +919,9 @@ } }, "node_modules/@angular/forms": { - "version": "13.2.3", - "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-13.2.3.tgz", - "integrity": "sha512-fOsWiimPTQCDtZj+Hqc4+Io7v4aKjJJUIRoxN/wQqik66Gg/1rs4iWtpdxm4vgyQD0rUFZaRLHhsh+ldIFw7CA==", + "version": "13.2.6", + "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-13.2.6.tgz", + "integrity": "sha512-3IikvNtO0RBiGb2AWl8aYcE3ivXHPIJz+JOn9Wz9XXSkYx75D3GjuJlz+fVIgz+7Q7tJuS6Q2E5qat/ldeDmoA==", "dependencies": { "tslib": "^2.3.0" }, @@ -865,22 +929,22 @@ "node": "^12.20.0 || ^14.15.0 || >=16.10.0" }, "peerDependencies": { - "@angular/common": "13.2.3", - "@angular/core": "13.2.3", - "@angular/platform-browser": "13.2.3", + "@angular/common": "13.2.6", + "@angular/core": "13.2.6", + "@angular/platform-browser": "13.2.6", "rxjs": "^6.5.3 || ^7.4.0" } }, "node_modules/@angular/material": { - "version": "13.2.3", - "resolved": "https://registry.npmjs.org/@angular/material/-/material-13.2.3.tgz", - "integrity": "sha512-io9NzL32QKBngSpNbnIGRN0/qhkGpyfZHnpW+IOsYa4gMlXqi0JMV5Ygi+O1Dvd57TXzbb3e2eggdZyAWe7IDA==", + "version": "13.2.6", + "resolved": "https://registry.npmjs.org/@angular/material/-/material-13.2.6.tgz", + "integrity": "sha512-/h5wa/tXE0DMIIEQX+rozFkUWHYUWg1Xf1R2tXUFLslLQ0KRCGyNo225Sv/1wrxXHxfrML787lA9ex4p90Feqw==", "dependencies": { "tslib": "^2.3.0" }, "peerDependencies": { "@angular/animations": "^13.0.0 || ^14.0.0-0", - "@angular/cdk": "13.2.3", + "@angular/cdk": "13.2.6", "@angular/common": "^13.0.0 || ^14.0.0-0", "@angular/core": "^13.0.0 || ^14.0.0-0", "@angular/forms": "^13.0.0 || ^14.0.0-0", @@ -889,9 +953,9 @@ } }, "node_modules/@angular/platform-browser": { - "version": "13.2.3", - "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-13.2.3.tgz", - "integrity": "sha512-kdV51osiEkW7hwwh7wQMy+9+e7lGFXQBnHVxIiyVQI1nKVfWykzc1Vt5oGw7zuBkkJat2Gs3Mq2lqaXMa2Xl1g==", + "version": "13.2.6", + "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-13.2.6.tgz", + "integrity": "sha512-Gc/1TqysW+P+K3NeQihmHWs4KF1mjJT20s06r+YcETnPP11uPk+UxQl7gJNsDV587DYO/wT3oISXVpRw4UJhdQ==", "dependencies": { "tslib": "^2.3.0" }, @@ -899,9 +963,9 @@ "node": "^12.20.0 || ^14.15.0 || >=16.10.0" }, "peerDependencies": { - "@angular/animations": "13.2.3", - "@angular/common": "13.2.3", - "@angular/core": "13.2.3" + "@angular/animations": "13.2.6", + "@angular/common": "13.2.6", + "@angular/core": "13.2.6" }, "peerDependenciesMeta": { "@angular/animations": { @@ -910,9 +974,9 @@ } }, "node_modules/@angular/platform-browser-dynamic": { - "version": "13.2.3", - "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-13.2.3.tgz", - "integrity": "sha512-dCHVyYsbEZR+Ekk47fZFh9zjFD/pryrwSelFStMUoGKExJxsVIVBzgdHwzPBVFh9gwjVCvBOmLpMcVMRNMq9cQ==", + "version": "13.2.6", + "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-13.2.6.tgz", + "integrity": "sha512-m77+pzwZw+4kiRhxzrj1kE3N1K82I8Xt+vEBKSL2Xv42hCX0T37erC6KlztFEDj4A68s5+/0C5vfwhEiDcr/Cw==", "dependencies": { "tslib": "^2.3.0" }, @@ -920,16 +984,16 @@ "node": "^12.20.0 || ^14.15.0 || >=16.10.0" }, "peerDependencies": { - "@angular/common": "13.2.3", - "@angular/compiler": "13.2.3", - "@angular/core": "13.2.3", - "@angular/platform-browser": "13.2.3" + "@angular/common": "13.2.6", + "@angular/compiler": "13.2.6", + "@angular/core": "13.2.6", + "@angular/platform-browser": "13.2.6" } }, "node_modules/@angular/router": { - "version": "13.2.3", - "resolved": "https://registry.npmjs.org/@angular/router/-/router-13.2.3.tgz", - "integrity": "sha512-niU8/19wmPSeuvKCHfaDbw+DPfE9gI0divcnwqGEB8tSbs7VNIaTmhLs9yMU+pD6puUYk3gUFTXLBl+g3qwOpg==", + "version": "13.2.6", + "resolved": "https://registry.npmjs.org/@angular/router/-/router-13.2.6.tgz", + "integrity": "sha512-dA9vL4mPLp+iNegzuvm9FaEWirFI2ZK3WQgbdoxoIpneym+BxRTkNDzPcvEaqfUf7eDGRBqlWakFDrd+H2QEbg==", "dependencies": { "tslib": "^2.3.0" }, @@ -937,9 +1001,9 @@ "node": "^12.20.0 || ^14.15.0 || >=16.10.0" }, "peerDependencies": { - "@angular/common": "13.2.3", - "@angular/core": "13.2.3", - "@angular/platform-browser": "13.2.3", + "@angular/common": "13.2.6", + "@angular/core": "13.2.6", + "@angular/platform-browser": "13.2.6", "rxjs": "^6.5.3 || ^7.4.0" } }, @@ -2850,9 +2914,9 @@ } }, "node_modules/@eslint/eslintrc": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.1.0.tgz", - "integrity": "sha512-C1DfL7XX4nPqGd6jcP01W9pVM1HYCuUkFk1432D7F0v3JSlUIeOYn9oCoi3eoLZ+iwBSb29BMFxxny0YrrEZqg==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.2.0.tgz", + "integrity": "sha512-igm9SjJHNEJRiUnecP/1R5T3wKLEJ7pL6e2P+GUSfCd0dGjPYYZve08uzw8L2J8foVHFz+NGu12JxRcU2gGo6w==", "dev": true, "dependencies": { "ajv": "^6.12.4", @@ -3083,11 +3147,24 @@ "version": "3.0.5", "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.5.tgz", "integrity": "sha512-VPeQ7+wH0itvQxnG+lIzWgkysKIr3L9sslimFW55rHMdGu/qCQ5z5h9zq4gI8uBtqkpHhsF4Z/OwExufUCThew==", - "dev": true, "engines": { "node": ">=6.0.0" } }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.11", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.11.tgz", + "integrity": "sha512-Fg32GrJo61m+VqYSdRSjRXMjQ06j8YIYfcTqndLYVAaHmroZHLJZCydsWBOTDqXS2v+mjxohBWEMfg97GXmYQg==" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.4.tgz", + "integrity": "sha512-vFv9ttIedivx0ux3QSjhgtCVjPZd5l46ZOMDSCwnH1yUO2e964gO8LZGyv2QkqcgR6TnBU1v+1IFqmeoG+0UJQ==", + "dependencies": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, "node_modules/@malept/cross-spawn-promise": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/@malept/cross-spawn-promise/-/cross-spawn-promise-1.1.1.tgz", @@ -3126,12 +3203,12 @@ } }, "node_modules/@microsoft/applicationinsights-analytics-js": { - "version": "2.7.3", - "resolved": "https://registry.npmjs.org/@microsoft/applicationinsights-analytics-js/-/applicationinsights-analytics-js-2.7.3.tgz", - "integrity": "sha512-2MF3finxqyMDUzJDZwIkl/FUdOmIdYJg4A556bS3ILtPptsoAE6CvmenBL4qmIlscPIpwhjZ/qFEnxNHplH9OA==", + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/@microsoft/applicationinsights-analytics-js/-/applicationinsights-analytics-js-2.7.4.tgz", + "integrity": "sha512-jX5qbqAQRbWcSRLSyPe8uITWGz+aVLYnyHuX5MLjIMJ/JXtWkfOY8n8YTGQaZ0VH0oHmMioHtBqvw/IchUSZ4Q==", "dependencies": { - "@microsoft/applicationinsights-common": "2.7.3", - "@microsoft/applicationinsights-core-js": "2.7.3", + "@microsoft/applicationinsights-common": "2.7.4", + "@microsoft/applicationinsights-core-js": "2.7.4", "@microsoft/applicationinsights-shims": "2.0.1", "@microsoft/dynamicproto-js": "^1.1.4" }, @@ -3140,12 +3217,12 @@ } }, "node_modules/@microsoft/applicationinsights-channel-js": { - "version": "2.7.3", - "resolved": "https://registry.npmjs.org/@microsoft/applicationinsights-channel-js/-/applicationinsights-channel-js-2.7.3.tgz", - "integrity": "sha512-LMrRycKHYKLYAxJeaKVvHrElslgGQqMyX43Q80qY6Wy8fY/g/RwPSDr3sbFaxZ4G2J7N74mjOR4wYsKfk4YNYA==", + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/@microsoft/applicationinsights-channel-js/-/applicationinsights-channel-js-2.7.4.tgz", + "integrity": "sha512-pcKn2fbF+hDbmWITsE8aN07FVRVZn/NxAUKbouudG6QWNvSNSpMuep88yxlU8mSP2imWjuXIFP6NuGNOEXec8w==", "dependencies": { - "@microsoft/applicationinsights-common": "2.7.3", - "@microsoft/applicationinsights-core-js": "2.7.3", + "@microsoft/applicationinsights-common": "2.7.4", + "@microsoft/applicationinsights-core-js": "2.7.4", "@microsoft/applicationinsights-shims": "2.0.1", "@microsoft/dynamicproto-js": "^1.1.4" }, @@ -3154,11 +3231,11 @@ } }, "node_modules/@microsoft/applicationinsights-common": { - "version": "2.7.3", - "resolved": "https://registry.npmjs.org/@microsoft/applicationinsights-common/-/applicationinsights-common-2.7.3.tgz", - "integrity": "sha512-gbEbxCnpEJlFQeVG9DLpHYOgY2AYxczUSccaDicVMu/f8ci2NHxZylvBEfjPM3cVc+Ra2V/Bj4mqLH5fqSRW9A==", + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/@microsoft/applicationinsights-common/-/applicationinsights-common-2.7.4.tgz", + "integrity": "sha512-tLcU9AHTescd09/EZ4uXoEVCOCMjkTgzblc7lZECOU7mm51VQrDCdlYQ3Br9lnNnyOrFw0+f3o+O9ock55I05g==", "dependencies": { - "@microsoft/applicationinsights-core-js": "2.7.3", + "@microsoft/applicationinsights-core-js": "2.7.4", "@microsoft/applicationinsights-shims": "2.0.1", "@microsoft/dynamicproto-js": "^1.1.4" }, @@ -3167,9 +3244,9 @@ } }, "node_modules/@microsoft/applicationinsights-core-js": { - "version": "2.7.3", - "resolved": "https://registry.npmjs.org/@microsoft/applicationinsights-core-js/-/applicationinsights-core-js-2.7.3.tgz", - "integrity": "sha512-mJ2n86rwjVPiOoKDt7YcxKKSlg4S5ZCQSGMv2KNl5glL66mhMFxgZbYUakO39ZEkEXCsqk7Yi5jSfr7LMvQwtA==", + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/@microsoft/applicationinsights-core-js/-/applicationinsights-core-js-2.7.4.tgz", + "integrity": "sha512-PlJ/ITQjvDhirdo7CSloSx5UTDntou9MF+nYgc+W/wM9vPYnz3gFfiuY59L30si3C3zSBMmUTLuDnXRvgLGRAw==", "dependencies": { "@microsoft/applicationinsights-shims": "2.0.1", "@microsoft/dynamicproto-js": "^1.1.4" @@ -3179,12 +3256,12 @@ } }, "node_modules/@microsoft/applicationinsights-dependencies-js": { - "version": "2.7.3", - "resolved": "https://registry.npmjs.org/@microsoft/applicationinsights-dependencies-js/-/applicationinsights-dependencies-js-2.7.3.tgz", - "integrity": "sha512-pq9obyTfkG5tGt0BQcBjSUUc1imLZ/N8UXQ6l8tfinKukTFk+X9BtajCkrXNA8xT7kMwAmlztgrY6ZWqahRj3A==", + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/@microsoft/applicationinsights-dependencies-js/-/applicationinsights-dependencies-js-2.7.4.tgz", + "integrity": "sha512-rwJWZ4a3k943fwejgT8Lr3sfXZRrLcho7V9Q+EIZdzxZkDzVJxj33CF6Kb8TIISgxgG9yqr3rDBsG/GLhgQ2iA==", "dependencies": { - "@microsoft/applicationinsights-common": "2.7.3", - "@microsoft/applicationinsights-core-js": "2.7.3", + "@microsoft/applicationinsights-common": "2.7.4", + "@microsoft/applicationinsights-core-js": "2.7.4", "@microsoft/applicationinsights-shims": "2.0.1", "@microsoft/dynamicproto-js": "^1.1.4" }, @@ -3193,12 +3270,12 @@ } }, "node_modules/@microsoft/applicationinsights-properties-js": { - "version": "2.7.3", - "resolved": "https://registry.npmjs.org/@microsoft/applicationinsights-properties-js/-/applicationinsights-properties-js-2.7.3.tgz", - "integrity": "sha512-LdQ3kH8o+bqalMLBWIv/J4Jx3niuDzdcYF1kjRv45SouU7iredRkH8M9rBn6+FesVC0t2cDmqooJBWOuPb7PfA==", + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/@microsoft/applicationinsights-properties-js/-/applicationinsights-properties-js-2.7.4.tgz", + "integrity": "sha512-kqYpQxMuK+EGoD2Q1rY+7NiEUsIRO3gepxBVn+ptUDtOsQGgAra/v/x5FqiKWcdVWyyESl/9e1FKoiMe9MKdlA==", "dependencies": { - "@microsoft/applicationinsights-common": "2.7.3", - "@microsoft/applicationinsights-core-js": "2.7.3", + "@microsoft/applicationinsights-common": "2.7.4", + "@microsoft/applicationinsights-core-js": "2.7.4", "@microsoft/applicationinsights-shims": "2.0.1", "@microsoft/dynamicproto-js": "^1.1.4" }, @@ -3212,16 +3289,16 @@ "integrity": "sha512-G0MXf6R6HndRbDy9BbEj0zrLeuhwt2nsXk2zKtF0TnYo39KgYqhYC2ayIzKPTm2KAE+xzD7rgyLdZnrcRvt9WQ==" }, "node_modules/@microsoft/applicationinsights-web": { - "version": "2.7.3", - "resolved": "https://registry.npmjs.org/@microsoft/applicationinsights-web/-/applicationinsights-web-2.7.3.tgz", - "integrity": "sha512-rHlFEQvW0KbAn4o2JcuJE2Qt73UeL7boKy4CGx5ixm3Lg/fEGQlu+b6r6wQvtuKOhGN563qe3PG2pUStcQPjbw==", + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/@microsoft/applicationinsights-web/-/applicationinsights-web-2.7.4.tgz", + "integrity": "sha512-9IncUpF80vndiyOHLhYkSJZwdFXkELOhIdtr+EiVWzVSsbpJvU5jVn0IzOXGMnuhY3e61nTyJxCVovLCXnrKtQ==", "dependencies": { - "@microsoft/applicationinsights-analytics-js": "2.7.3", - "@microsoft/applicationinsights-channel-js": "2.7.3", - "@microsoft/applicationinsights-common": "2.7.3", - "@microsoft/applicationinsights-core-js": "2.7.3", - "@microsoft/applicationinsights-dependencies-js": "2.7.3", - "@microsoft/applicationinsights-properties-js": "2.7.3", + "@microsoft/applicationinsights-analytics-js": "2.7.4", + "@microsoft/applicationinsights-channel-js": "2.7.4", + "@microsoft/applicationinsights-common": "2.7.4", + "@microsoft/applicationinsights-core-js": "2.7.4", + "@microsoft/applicationinsights-dependencies-js": "2.7.4", + "@microsoft/applicationinsights-properties-js": "2.7.4", "@microsoft/applicationinsights-shims": "2.0.1", "@microsoft/dynamicproto-js": "^1.1.4" }, @@ -3234,6 +3311,22 @@ "resolved": "https://registry.npmjs.org/@microsoft/dynamicproto-js/-/dynamicproto-js-1.1.4.tgz", "integrity": "sha512-Ot53G927ykMF8cQ3/zq4foZtdk+Tt1YpX7aUTHxBU7UHNdkEiBvBfZSq+rnlUmKCJ19VatwPG4mNzvcGpBj4og==" }, + "node_modules/@ngtools/webpack": { + "version": "13.2.6", + "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-13.2.6.tgz", + "integrity": "sha512-N8SvRV91+/57TcAfbghc0k0tKCukw/7KqbDaLPAQTGFekJ4xMGT3elMzOyBXTH3Hvp5HL8/hiBt2tG04qiMf+w==", + "dev": true, + "engines": { + "node": "^12.20.0 || ^14.15.0 || >=16.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + }, + "peerDependencies": { + "@angular/compiler-cli": "^13.0.0", + "typescript": ">=4.4.3 <4.6", + "webpack": "^5.30.0" + } + }, "node_modules/@ngx-translate/core": { "version": "14.0.0", "resolved": "https://registry.npmjs.org/@ngx-translate/core/-/core-14.0.0.tgz", @@ -3404,6 +3497,80 @@ "read-package-json-fast": "^2.0.1" } }, + "node_modules/@npmcli/run-script/node_modules/@tootallnate/once": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", + "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@npmcli/run-script/node_modules/http-proxy-agent": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", + "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", + "dev": true, + "dependencies": { + "@tootallnate/once": "1", + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@npmcli/run-script/node_modules/make-fetch-happen": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz", + "integrity": "sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg==", + "dev": true, + "dependencies": { + "agentkeepalive": "^4.1.3", + "cacache": "^15.2.0", + "http-cache-semantics": "^4.1.0", + "http-proxy-agent": "^4.0.1", + "https-proxy-agent": "^5.0.0", + "is-lambda": "^1.0.1", + "lru-cache": "^6.0.0", + "minipass": "^3.1.3", + "minipass-collect": "^1.0.2", + "minipass-fetch": "^1.3.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.2", + "promise-retry": "^2.0.1", + "socks-proxy-agent": "^6.0.0", + "ssri": "^8.0.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@npmcli/run-script/node_modules/node-gyp": { + "version": "8.4.1", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-8.4.1.tgz", + "integrity": "sha512-olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w==", + "dev": true, + "dependencies": { + "env-paths": "^2.2.0", + "glob": "^7.1.4", + "graceful-fs": "^4.2.6", + "make-fetch-happen": "^9.1.0", + "nopt": "^5.0.0", + "npmlog": "^6.0.0", + "rimraf": "^3.0.2", + "semver": "^7.3.5", + "tar": "^6.1.2", + "which": "^2.0.2" + }, + "bin": { + "node-gyp": "bin/node-gyp.js" + }, + "engines": { + "node": ">= 10.12.0" + } + }, "node_modules/@nrwl/cli": { "version": "13.4.1", "resolved": "https://registry.npmjs.org/@nrwl/cli/-/cli-13.4.1.tgz", @@ -3871,13 +4038,13 @@ "integrity": "sha1-p3c2C1s5oaLlEG+OhY8v0tBgxXA=" }, "node_modules/@schematics/angular": { - "version": "13.2.4", - "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-13.2.4.tgz", - "integrity": "sha512-pAVuPmFklWVpNJkARs4aGYM5Mo4iez0eW0dDY+ugxZlt1KOLJQDmMK2Go60iEAQLlOw2pKO/jcmTttOP8PN0UQ==", + "version": "13.2.6", + "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-13.2.6.tgz", + "integrity": "sha512-8NzHMX9+FSgaB0lJYxlTJv9OcBuolwZJqo9M/yX3RPSqSHghA33jWwgVbV551hBJOpbVEePerG1DQkIC99DXKA==", "dev": true, "dependencies": { - "@angular-devkit/core": "13.2.4", - "@angular-devkit/schematics": "13.2.4", + "@angular-devkit/core": "13.2.6", + "@angular-devkit/schematics": "13.2.6", "jsonc-parser": "3.0.0" }, "engines": { @@ -3938,12 +4105,12 @@ } }, "node_modules/@tootallnate/once": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", - "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", + "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", "dev": true, "engines": { - "node": ">= 6" + "node": ">= 10" } }, "node_modules/@tsconfig/node10": { @@ -4209,9 +4376,9 @@ "dev": true }, "node_modules/@types/lodash": { - "version": "4.14.178", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.178.tgz", - "integrity": "sha512-0d5Wd09ItQWH1qFbEyQ7oTQ3GZrMfth5JkbN3EvTKLXcHLRDSXeLnlvlOn0wvxVIwK5o2M8JzP/OWz7T3NRsbw==", + "version": "4.14.179", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.179.tgz", + "integrity": "sha512-uwc1x90yCKqGcIOAT6DwOSuxnrAbpkdPsUOZtwrXb4D/6wZs+6qG7QnIawDuZWg0sWpxl+ltIKCaLoMlna678w==", "dev": true }, "node_modules/@types/long": { @@ -4394,9 +4561,9 @@ "dev": true }, "node_modules/@types/ws": { - "version": "8.2.2", - "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.2.2.tgz", - "integrity": "sha512-NOn5eIcgWLOo6qW8AcuLZ7G8PycXu0xTxxkS6Q18VWFxgPUSOwV0pBj2a/4viNZVu25i7RIB7GttdkAIUUXOOg==", + "version": "8.5.2", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.2.tgz", + "integrity": "sha512-VXI82ykONr5tacHEojnErTQk+KQSoYbW1NB6iz6wUwrNd+BqfkfggQNoNdCqhJSzbNumShPERbM+Pc5zpfhlbw==", "dev": true, "dependencies": { "@types/node": "*" @@ -4428,14 +4595,14 @@ } }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "5.12.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.12.1.tgz", - "integrity": "sha512-M499lqa8rnNK7mUv74lSFFttuUsubIRdAbHcVaP93oFcKkEmHmLqy2n7jM9C8DVmFMYK61ExrZU6dLYhQZmUpw==", + "version": "5.14.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.14.0.tgz", + "integrity": "sha512-ir0wYI4FfFUDfLcuwKzIH7sMVA+db7WYen47iRSaCGl+HMAZI9fpBwfDo45ZALD3A45ZGyHWDNLhbg8tZrMX4w==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "5.12.1", - "@typescript-eslint/type-utils": "5.12.1", - "@typescript-eslint/utils": "5.12.1", + "@typescript-eslint/scope-manager": "5.14.0", + "@typescript-eslint/type-utils": "5.14.0", + "@typescript-eslint/utils": "5.14.0", "debug": "^4.3.2", "functional-red-black-tree": "^1.0.1", "ignore": "^5.1.8", @@ -4461,12 +4628,12 @@ } }, "node_modules/@typescript-eslint/eslint-plugin-tslint": { - "version": "5.12.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin-tslint/-/eslint-plugin-tslint-5.12.1.tgz", - "integrity": "sha512-W11pKA3fTQ8pDdPnzC35GqZeGvwN8vY5t36hENcdqFWsM1VlEIbz/9Ag4Nktif3LNKtYKmCHQqh7Yp01xIOPKg==", + "version": "5.14.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin-tslint/-/eslint-plugin-tslint-5.14.0.tgz", + "integrity": "sha512-HFBh3Hv5z52qgUoA+fwCCUxqcho3kVyKlsmD5Gn11WVth5HaohOTYq4r0PeRNlRGmx1mvspo46JgFq9tXC3AXg==", "dev": true, "dependencies": { - "@typescript-eslint/utils": "5.12.1", + "@typescript-eslint/utils": "5.14.0", "lodash": "^4.17.21" }, "engines": { @@ -4479,9 +4646,9 @@ } }, "node_modules/@typescript-eslint/eslint-plugin-tslint/node_modules/@typescript-eslint/types": { - "version": "5.12.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.12.1.tgz", - "integrity": "sha512-hfcbq4qVOHV1YRdhkDldhV9NpmmAu2vp6wuFODL71Y0Ixak+FLeEU4rnPxgmZMnGreGEghlEucs9UZn5KOfHJA==", + "version": "5.14.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.14.0.tgz", + "integrity": "sha512-BR6Y9eE9360LNnW3eEUqAg6HxS9Q35kSIs4rp4vNHRdfg0s+/PgHgskvu5DFTM7G5VKAVjuyaN476LCPrdA7Mw==", "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -4492,13 +4659,13 @@ } }, "node_modules/@typescript-eslint/eslint-plugin-tslint/node_modules/@typescript-eslint/typescript-estree": { - "version": "5.12.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.12.1.tgz", - "integrity": "sha512-ahOdkIY9Mgbza7L9sIi205Pe1inCkZWAHE1TV1bpxlU4RZNPtXaDZfiiFWcL9jdxvW1hDYZJXrFm+vlMkXRbBw==", + "version": "5.14.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.14.0.tgz", + "integrity": "sha512-QGnxvROrCVtLQ1724GLTHBTR0lZVu13izOp9njRvMkCBgWX26PKvmMP8k82nmXBRD3DQcFFq2oj3cKDwr0FaUA==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.12.1", - "@typescript-eslint/visitor-keys": "5.12.1", + "@typescript-eslint/types": "5.14.0", + "@typescript-eslint/visitor-keys": "5.14.0", "debug": "^4.3.2", "globby": "^11.0.4", "is-glob": "^4.0.3", @@ -4519,15 +4686,15 @@ } }, "node_modules/@typescript-eslint/eslint-plugin-tslint/node_modules/@typescript-eslint/utils": { - "version": "5.12.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.12.1.tgz", - "integrity": "sha512-Qq9FIuU0EVEsi8fS6pG+uurbhNTtoYr4fq8tKjBupsK5Bgbk2I32UGm0Sh+WOyjOPgo/5URbxxSNV6HYsxV4MQ==", + "version": "5.14.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.14.0.tgz", + "integrity": "sha512-EHwlII5mvUA0UsKYnVzySb/5EE/t03duUTweVy8Zqt3UQXBrpEVY144OTceFKaOe4xQXZJrkptCf7PjEBeGK4w==", "dev": true, "dependencies": { "@types/json-schema": "^7.0.9", - "@typescript-eslint/scope-manager": "5.12.1", - "@typescript-eslint/types": "5.12.1", - "@typescript-eslint/typescript-estree": "5.12.1", + "@typescript-eslint/scope-manager": "5.14.0", + "@typescript-eslint/types": "5.14.0", + "@typescript-eslint/typescript-estree": "5.14.0", "eslint-scope": "^5.1.1", "eslint-utils": "^3.0.0" }, @@ -4543,12 +4710,12 @@ } }, "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/type-utils": { - "version": "5.12.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.12.1.tgz", - "integrity": "sha512-Gh8feEhsNLeCz6aYqynh61Vsdy+tiNNkQtc+bN3IvQvRqHkXGUhYkUi+ePKzP0Mb42se7FDb+y2SypTbpbR/Sg==", + "version": "5.14.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.14.0.tgz", + "integrity": "sha512-d4PTJxsqaUpv8iERTDSQBKUCV7Q5yyXjqXUl3XF7Sd9ogNLuKLkxz82qxokqQ4jXdTPZudWpmNtr/JjbbvUixw==", "dev": true, "dependencies": { - "@typescript-eslint/utils": "5.12.1", + "@typescript-eslint/utils": "5.14.0", "debug": "^4.3.2", "tsutils": "^3.21.0" }, @@ -4569,9 +4736,9 @@ } }, "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/types": { - "version": "5.12.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.12.1.tgz", - "integrity": "sha512-hfcbq4qVOHV1YRdhkDldhV9NpmmAu2vp6wuFODL71Y0Ixak+FLeEU4rnPxgmZMnGreGEghlEucs9UZn5KOfHJA==", + "version": "5.14.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.14.0.tgz", + "integrity": "sha512-BR6Y9eE9360LNnW3eEUqAg6HxS9Q35kSIs4rp4vNHRdfg0s+/PgHgskvu5DFTM7G5VKAVjuyaN476LCPrdA7Mw==", "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -4582,13 +4749,13 @@ } }, "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/typescript-estree": { - "version": "5.12.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.12.1.tgz", - "integrity": "sha512-ahOdkIY9Mgbza7L9sIi205Pe1inCkZWAHE1TV1bpxlU4RZNPtXaDZfiiFWcL9jdxvW1hDYZJXrFm+vlMkXRbBw==", + "version": "5.14.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.14.0.tgz", + "integrity": "sha512-QGnxvROrCVtLQ1724GLTHBTR0lZVu13izOp9njRvMkCBgWX26PKvmMP8k82nmXBRD3DQcFFq2oj3cKDwr0FaUA==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.12.1", - "@typescript-eslint/visitor-keys": "5.12.1", + "@typescript-eslint/types": "5.14.0", + "@typescript-eslint/visitor-keys": "5.14.0", "debug": "^4.3.2", "globby": "^11.0.4", "is-glob": "^4.0.3", @@ -4609,15 +4776,15 @@ } }, "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/utils": { - "version": "5.12.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.12.1.tgz", - "integrity": "sha512-Qq9FIuU0EVEsi8fS6pG+uurbhNTtoYr4fq8tKjBupsK5Bgbk2I32UGm0Sh+WOyjOPgo/5URbxxSNV6HYsxV4MQ==", + "version": "5.14.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.14.0.tgz", + "integrity": "sha512-EHwlII5mvUA0UsKYnVzySb/5EE/t03duUTweVy8Zqt3UQXBrpEVY144OTceFKaOe4xQXZJrkptCf7PjEBeGK4w==", "dev": true, "dependencies": { "@types/json-schema": "^7.0.9", - "@typescript-eslint/scope-manager": "5.12.1", - "@typescript-eslint/types": "5.12.1", - "@typescript-eslint/typescript-estree": "5.12.1", + "@typescript-eslint/scope-manager": "5.14.0", + "@typescript-eslint/types": "5.14.0", + "@typescript-eslint/typescript-estree": "5.14.0", "eslint-scope": "^5.1.1", "eslint-utils": "^3.0.0" }, @@ -4633,14 +4800,14 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "5.12.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.12.1.tgz", - "integrity": "sha512-6LuVUbe7oSdHxUWoX/m40Ni8gsZMKCi31rlawBHt7VtW15iHzjbpj2WLiToG2758KjtCCiLRKZqfrOdl3cNKuw==", + "version": "5.14.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.14.0.tgz", + "integrity": "sha512-aHJN8/FuIy1Zvqk4U/gcO/fxeMKyoSv/rS46UXMXOJKVsLQ+iYPuXNbpbH7cBLcpSbmyyFbwrniLx5+kutu1pw==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "5.12.1", - "@typescript-eslint/types": "5.12.1", - "@typescript-eslint/typescript-estree": "5.12.1", + "@typescript-eslint/scope-manager": "5.14.0", + "@typescript-eslint/types": "5.14.0", + "@typescript-eslint/typescript-estree": "5.14.0", "debug": "^4.3.2" }, "engines": { @@ -4660,9 +4827,9 @@ } }, "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/types": { - "version": "5.12.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.12.1.tgz", - "integrity": "sha512-hfcbq4qVOHV1YRdhkDldhV9NpmmAu2vp6wuFODL71Y0Ixak+FLeEU4rnPxgmZMnGreGEghlEucs9UZn5KOfHJA==", + "version": "5.14.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.14.0.tgz", + "integrity": "sha512-BR6Y9eE9360LNnW3eEUqAg6HxS9Q35kSIs4rp4vNHRdfg0s+/PgHgskvu5DFTM7G5VKAVjuyaN476LCPrdA7Mw==", "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -4673,13 +4840,13 @@ } }, "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/typescript-estree": { - "version": "5.12.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.12.1.tgz", - "integrity": "sha512-ahOdkIY9Mgbza7L9sIi205Pe1inCkZWAHE1TV1bpxlU4RZNPtXaDZfiiFWcL9jdxvW1hDYZJXrFm+vlMkXRbBw==", + "version": "5.14.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.14.0.tgz", + "integrity": "sha512-QGnxvROrCVtLQ1724GLTHBTR0lZVu13izOp9njRvMkCBgWX26PKvmMP8k82nmXBRD3DQcFFq2oj3cKDwr0FaUA==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.12.1", - "@typescript-eslint/visitor-keys": "5.12.1", + "@typescript-eslint/types": "5.14.0", + "@typescript-eslint/visitor-keys": "5.14.0", "debug": "^4.3.2", "globby": "^11.0.4", "is-glob": "^4.0.3", @@ -4700,13 +4867,13 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "5.12.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.12.1.tgz", - "integrity": "sha512-J0Wrh5xS6XNkd4TkOosxdpObzlYfXjAFIm9QxYLCPOcHVv1FyyFCPom66uIh8uBr0sZCrtS+n19tzufhwab8ZQ==", + "version": "5.14.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.14.0.tgz", + "integrity": "sha512-LazdcMlGnv+xUc5R4qIlqH0OWARyl2kaP8pVCS39qSL3Pd1F7mI10DbdXeARcE62sVQE4fHNvEqMWsypWO+yEw==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.12.1", - "@typescript-eslint/visitor-keys": "5.12.1" + "@typescript-eslint/types": "5.14.0", + "@typescript-eslint/visitor-keys": "5.14.0" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -4717,9 +4884,9 @@ } }, "node_modules/@typescript-eslint/scope-manager/node_modules/@typescript-eslint/types": { - "version": "5.12.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.12.1.tgz", - "integrity": "sha512-hfcbq4qVOHV1YRdhkDldhV9NpmmAu2vp6wuFODL71Y0Ixak+FLeEU4rnPxgmZMnGreGEghlEucs9UZn5KOfHJA==", + "version": "5.14.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.14.0.tgz", + "integrity": "sha512-BR6Y9eE9360LNnW3eEUqAg6HxS9Q35kSIs4rp4vNHRdfg0s+/PgHgskvu5DFTM7G5VKAVjuyaN476LCPrdA7Mw==", "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -4787,12 +4954,12 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "5.12.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.12.1.tgz", - "integrity": "sha512-l1KSLfupuwrXx6wc0AuOmC7Ko5g14ZOQ86wJJqRbdLbXLK02pK/DPiDDqCc7BqqiiA04/eAA6ayL0bgOrAkH7A==", + "version": "5.14.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.14.0.tgz", + "integrity": "sha512-yL0XxfzR94UEkjBqyymMLgCBdojzEuy/eim7N9/RIcTNxpJudAcqsU8eRyfzBbcEzGoPWfdM3AGak3cN08WOIw==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.12.1", + "@typescript-eslint/types": "5.14.0", "eslint-visitor-keys": "^3.0.0" }, "engines": { @@ -4804,9 +4971,9 @@ } }, "node_modules/@typescript-eslint/visitor-keys/node_modules/@typescript-eslint/types": { - "version": "5.12.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.12.1.tgz", - "integrity": "sha512-hfcbq4qVOHV1YRdhkDldhV9NpmmAu2vp6wuFODL71Y0Ixak+FLeEU4rnPxgmZMnGreGEghlEucs9UZn5KOfHJA==", + "version": "5.14.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.14.0.tgz", + "integrity": "sha512-BR6Y9eE9360LNnW3eEUqAg6HxS9Q35kSIs4rp4vNHRdfg0s+/PgHgskvu5DFTM7G5VKAVjuyaN476LCPrdA7Mw==", "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -5453,9 +5620,9 @@ } }, "node_modules/agentkeepalive": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.2.0.tgz", - "integrity": "sha512-0PhAp58jZNw13UJv7NVdTGb0ZcghHUb3DrZ046JiiJY/BOaTTpbwdHq2VObPCBV8M2GPh7sgrJ3AQ8Ey468LJw==", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.2.1.tgz", + "integrity": "sha512-Zn4cw2NEqd+9fiSVWMscnjyQ1a8Yfoc5oBajLeo5w+YBHgDUcEBY2hS4YpTz6iN5f/2zQiktcuM6tS8x1p9dpA==", "dev": true, "dependencies": { "debug": "^4.1.0", @@ -5638,9 +5805,9 @@ "dev": true }, "node_modules/app-builder-lib": { - "version": "22.14.5", - "resolved": "https://registry.npmjs.org/app-builder-lib/-/app-builder-lib-22.14.5.tgz", - "integrity": "sha512-k3VwKP4kpsnUaXoUkm1s4zaSHPHIMFnN4kPMU9yXaKmE1LfHHqBaEah5bXeTAX5V/BC41wFdg8CF5vOjvgy8Rg==", + "version": "22.14.13", + "resolved": "https://registry.npmjs.org/app-builder-lib/-/app-builder-lib-22.14.13.tgz", + "integrity": "sha512-SufmrtxU+D0Tn948fjEwAOlCN9757UXLkzzTWXMwZKR/5hisvgqeeBepWfphMIE6OkDGz0fbzEhL1P2Pty4XMg==", "dev": true, "dependencies": { "@develar/schema-utils": "~2.6.5", @@ -5649,13 +5816,13 @@ "7zip-bin": "~5.1.1", "async-exit-hook": "^2.0.1", "bluebird-lst": "^1.0.9", - "builder-util": "22.14.5", - "builder-util-runtime": "8.9.1", + "builder-util": "22.14.13", + "builder-util-runtime": "8.9.2", "chromium-pickle-js": "^0.2.0", "debug": "^4.3.2", "ejs": "^3.1.6", "electron-osx-sign": "^0.5.0", - "electron-publish": "22.14.5", + "electron-publish": "22.14.13", "form-data": "^4.0.0", "fs-extra": "^10.0.0", "hosted-git-info": "^4.0.2", @@ -5679,19 +5846,6 @@ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", "dev": true }, - "node_modules/app-builder-lib/node_modules/builder-util-runtime": { - "version": "8.9.1", - "resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-8.9.1.tgz", - "integrity": "sha512-c8a8J3wK6BIVLW7ls+7TRK9igspTbzWmUqxFbgK0m40Ggm6efUbxtWVCGIjc+dtchyr5qAMAUL6iEGRdS/6vwg==", - "dev": true, - "dependencies": { - "debug": "^4.3.2", - "sax": "^1.2.4" - }, - "engines": { - "node": ">=12.0.0" - } - }, "node_modules/app-builder-lib/node_modules/fs-extra": { "version": "10.0.1", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.1.tgz", @@ -6853,9 +7007,9 @@ "dev": true }, "node_modules/builder-util": { - "version": "22.14.5", - "resolved": "https://registry.npmjs.org/builder-util/-/builder-util-22.14.5.tgz", - "integrity": "sha512-zqIHDFJwmA7jV7SC9aI+33MWwT2mWoijH+Ol9IntNAwuuRXoS+7XeJwnhLBXOhcDBzXT4kDzHnRk4JKeaygEYA==", + "version": "22.14.13", + "resolved": "https://registry.npmjs.org/builder-util/-/builder-util-22.14.13.tgz", + "integrity": "sha512-oePC/qrrUuerhmH5iaCJzPRAKlSBylrhzuAJmRQClTyWnZUv6jbaHh+VoHMbEiE661wrj2S2aV7/bQh12cj1OA==", "dev": true, "dependencies": { "@types/debug": "^4.1.6", @@ -6863,11 +7017,13 @@ "7zip-bin": "~5.1.1", "app-builder-bin": "3.7.1", "bluebird-lst": "^1.0.9", - "builder-util-runtime": "8.9.1", + "builder-util-runtime": "8.9.2", "chalk": "^4.1.1", "cross-spawn": "^7.0.3", "debug": "^4.3.2", "fs-extra": "^10.0.0", + "http-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.0", "is-ci": "^3.0.0", "js-yaml": "^4.1.0", "source-map-support": "^0.5.19", @@ -6908,19 +7064,6 @@ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", "dev": true }, - "node_modules/builder-util/node_modules/builder-util-runtime": { - "version": "8.9.1", - "resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-8.9.1.tgz", - "integrity": "sha512-c8a8J3wK6BIVLW7ls+7TRK9igspTbzWmUqxFbgK0m40Ggm6efUbxtWVCGIjc+dtchyr5qAMAUL6iEGRdS/6vwg==", - "dev": true, - "dependencies": { - "debug": "^4.3.2", - "sax": "^1.2.4" - }, - "engines": { - "node": ">=12.0.0" - } - }, "node_modules/builder-util/node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -9067,14 +9210,14 @@ } }, "node_modules/dmg-builder": { - "version": "22.14.5", - "resolved": "https://registry.npmjs.org/dmg-builder/-/dmg-builder-22.14.5.tgz", - "integrity": "sha512-1GvFGQE332bvPamcMwZDqWqfWfJTyyDLOsHMcGi0zs+Jh7JOn6/zuBkHJIWHdsj2QJbhzLVyd2/ZqttOKv7I8w==", + "version": "22.14.13", + "resolved": "https://registry.npmjs.org/dmg-builder/-/dmg-builder-22.14.13.tgz", + "integrity": "sha512-xNOugB6AbIRETeU2uID15sUfjdZZcKdxK8xkFnwIggsM00PJ12JxpLNPTjcRoUnfwj3WrPjilrO64vRMwNItQg==", "dev": true, "dependencies": { - "app-builder-lib": "22.14.5", - "builder-util": "22.14.5", - "builder-util-runtime": "8.9.1", + "app-builder-lib": "22.14.13", + "builder-util": "22.14.13", + "builder-util-runtime": "8.9.2", "fs-extra": "^10.0.0", "iconv-lite": "^0.6.2", "js-yaml": "^4.1.0" @@ -9089,19 +9232,6 @@ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", "dev": true }, - "node_modules/dmg-builder/node_modules/builder-util-runtime": { - "version": "8.9.1", - "resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-8.9.1.tgz", - "integrity": "sha512-c8a8J3wK6BIVLW7ls+7TRK9igspTbzWmUqxFbgK0m40Ggm6efUbxtWVCGIjc+dtchyr5qAMAUL6iEGRdS/6vwg==", - "dev": true, - "dependencies": { - "debug": "^4.3.2", - "sax": "^1.2.4" - }, - "engines": { - "node": ">=12.0.0" - } - }, "node_modules/dmg-builder/node_modules/fs-extra": { "version": "10.0.1", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.1.tgz", @@ -9416,9 +9546,9 @@ } }, "node_modules/electron": { - "version": "17.1.0", - "resolved": "https://registry.npmjs.org/electron/-/electron-17.1.0.tgz", - "integrity": "sha512-X/qdldmQ8lA15NmeraubWCTtMeTO8K9Ser0wtSCgOXVh53Sr1Ea0VQQ7Q9LuGgWRVz4qtr40cntuEdM8icdmTw==", + "version": "17.1.2", + "resolved": "https://registry.npmjs.org/electron/-/electron-17.1.2.tgz", + "integrity": "sha512-hqKQaUIRWX5Y2eAD8FZINWD/e5TKdpkbBYbkcZmJS4Bd1PKQsaDVc9h5xoA8zZQkPymE9rss+swjRpAFurOPGQ==", "dev": true, "hasInstallScript": true, "dependencies": { @@ -9434,17 +9564,17 @@ } }, "node_modules/electron-builder": { - "version": "22.14.5", - "resolved": "https://registry.npmjs.org/electron-builder/-/electron-builder-22.14.5.tgz", - "integrity": "sha512-N73hSbXFz6Mz5Z6h6C5ly6CB+dUN6k1LuCDJjI8VF47bMXv/QE0HE+Kkb0GPKqTqM7Hsk/yIYX+kHCfSkR5FGg==", + "version": "22.14.13", + "resolved": "https://registry.npmjs.org/electron-builder/-/electron-builder-22.14.13.tgz", + "integrity": "sha512-3fgLxqF2TXVKiUPeg74O4V3l0l3j7ERLazo8sUbRkApw0+4iVAf2BJkHsHMaXiigsgCoEzK/F4/rB5rne/VAnw==", "dev": true, "dependencies": { "@types/yargs": "^17.0.1", - "app-builder-lib": "22.14.5", - "builder-util": "22.14.5", - "builder-util-runtime": "8.9.1", + "app-builder-lib": "22.14.13", + "builder-util": "22.14.13", + "builder-util-runtime": "8.9.2", "chalk": "^4.1.1", - "dmg-builder": "22.14.5", + "dmg-builder": "22.14.13", "fs-extra": "^10.0.0", "is-ci": "^3.0.0", "lazy-val": "^1.0.5", @@ -9475,19 +9605,6 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/electron-builder/node_modules/builder-util-runtime": { - "version": "8.9.1", - "resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-8.9.1.tgz", - "integrity": "sha512-c8a8J3wK6BIVLW7ls+7TRK9igspTbzWmUqxFbgK0m40Ggm6efUbxtWVCGIjc+dtchyr5qAMAUL6iEGRdS/6vwg==", - "dev": true, - "dependencies": { - "debug": "^4.3.2", - "sax": "^1.2.4" - }, - "engines": { - "node": ">=12.0.0" - } - }, "node_modules/electron-builder/node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -9676,14 +9793,14 @@ "dev": true }, "node_modules/electron-publish": { - "version": "22.14.5", - "resolved": "https://registry.npmjs.org/electron-publish/-/electron-publish-22.14.5.tgz", - "integrity": "sha512-h+NANRdaA0PqGF15GKvorseWPzh1PXa/zx4I37//PIokW8eKIov8ky23foUSb55ZFWUHGpxQJux7y2NCfBtQeg==", + "version": "22.14.13", + "resolved": "https://registry.npmjs.org/electron-publish/-/electron-publish-22.14.13.tgz", + "integrity": "sha512-0oP3QiNj3e8ewOaEpEJV/o6Zrmy2VarVvZ/bH7kyO/S/aJf9x8vQsKVWpsdmSiZ5DJEHgarFIXrnO0ZQf0P9iQ==", "dev": true, "dependencies": { "@types/fs-extra": "^9.0.11", - "builder-util": "22.14.5", - "builder-util-runtime": "8.9.1", + "builder-util": "22.14.13", + "builder-util-runtime": "8.9.2", "chalk": "^4.1.1", "fs-extra": "^10.0.0", "lazy-val": "^1.0.5", @@ -9705,19 +9822,6 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/electron-publish/node_modules/builder-util-runtime": { - "version": "8.9.1", - "resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-8.9.1.tgz", - "integrity": "sha512-c8a8J3wK6BIVLW7ls+7TRK9igspTbzWmUqxFbgK0m40Ggm6efUbxtWVCGIjc+dtchyr5qAMAUL6iEGRdS/6vwg==", - "dev": true, - "dependencies": { - "debug": "^4.3.2", - "sax": "^1.2.4" - }, - "engines": { - "node": ">=12.0.0" - } - }, "node_modules/electron-publish/node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -10525,12 +10629,12 @@ } }, "node_modules/eslint": { - "version": "8.9.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.9.0.tgz", - "integrity": "sha512-PB09IGwv4F4b0/atrbcMFboF/giawbBLVC7fyDamk5Wtey4Jh2K+rYaBhCAbUyEI4QzB1ly09Uglc9iCtFaG2Q==", + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.10.0.tgz", + "integrity": "sha512-tcI1D9lfVec+R4LE1mNDnzoJ/f71Kl/9Cv4nG47jOueCMBrCCKYXr4AUVS7go6mWYGFD4+EoN6+eXSrEbRzXVw==", "dev": true, "dependencies": { - "@eslint/eslintrc": "^1.1.0", + "@eslint/eslintrc": "^1.2.0", "@humanwhocodes/config-array": "^0.9.2", "ajv": "^6.10.0", "chalk": "^4.0.0", @@ -10577,9 +10681,9 @@ } }, "node_modules/eslint-config-prettier": { - "version": "8.4.0", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.4.0.tgz", - "integrity": "sha512-CFotdUcMY18nGRo5KGsnNxpznzhkopOcOo0InID+sgQssPrzjvsyKZPvOgymTFeHrFuC3Tzdf2YndhXtULK9Iw==", + "version": "8.5.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.5.0.tgz", + "integrity": "sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q==", "dev": true, "bin": { "eslint-config-prettier": "bin/cli.js" @@ -10742,9 +10846,9 @@ "dev": true }, "node_modules/eslint-plugin-jsdoc": { - "version": "37.9.4", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-37.9.4.tgz", - "integrity": "sha512-VxCyGgUNNnj2T4bb1OqltkbsPp3ehRzR5onIfh6zGrAvISmvgX/sbxUlh3YyGqWtjOTSBCURdKdmelSXEIHnlA==", + "version": "38.0.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-38.0.0.tgz", + "integrity": "sha512-4ZWTq9Jjpr+aezCn/gjRq45C3wFpY16S+umce8q/s2kMmD6oJ/8u8jhPFGoOHUnkZzFNDzYiIUxF9+OmoayLbA==", "dev": true, "dependencies": { "@es-joy/jsdoccomment": "~0.20.1", @@ -13705,9 +13809,9 @@ } }, "node_modules/http-parser-js": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.5.tgz", - "integrity": "sha512-x+JVEkO2PoM8qqpbPbOL3cqHPwerep7OwzK7Ay+sMQjKzaKCqWvjoXm5tqMP9tXWWTnTzAjIhXg+J99XYuPhPA==", + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.6.tgz", + "integrity": "sha512-vDlkRPDJn93swjcjqMSaGSPABbIarsr1TLAui/gLDXzV5VsJNdXNzMYDyNBLQkjWQCJ1uizu8T2oDMhmGt0PRA==", "dev": true }, "node_modules/http-proxy": { @@ -13725,12 +13829,12 @@ } }, "node_modules/http-proxy-agent": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", - "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", + "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", "dev": true, "dependencies": { - "@tootallnate/once": "1", + "@tootallnate/once": "2", "agent-base": "6", "debug": "4" }, @@ -16379,6 +16483,7 @@ "version": "0.25.7", "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz", "integrity": "sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==", + "dev": true, "dependencies": { "sourcemap-codec": "^1.4.4" } @@ -16414,30 +16519,56 @@ "dev": true }, "node_modules/make-fetch-happen": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz", - "integrity": "sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg==", + "version": "10.0.5", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-10.0.5.tgz", + "integrity": "sha512-0JQ0daMRDFEv14DelmcFlprdhSDNG7WEgInTjBeWYWZ78W0jfDqygZdPLhcrQ4s/G8skNhBrS4fiF6xA+YlFjQ==", "dev": true, "dependencies": { - "agentkeepalive": "^4.1.3", - "cacache": "^15.2.0", + "agentkeepalive": "^4.2.1", + "cacache": "^15.3.0", "http-cache-semantics": "^4.1.0", - "http-proxy-agent": "^4.0.1", + "http-proxy-agent": "^5.0.0", "https-proxy-agent": "^5.0.0", "is-lambda": "^1.0.1", - "lru-cache": "^6.0.0", - "minipass": "^3.1.3", + "lru-cache": "^7.4.1", + "minipass": "^3.1.6", "minipass-collect": "^1.0.2", - "minipass-fetch": "^1.3.2", + "minipass-fetch": "^2.0.2", "minipass-flush": "^1.0.5", "minipass-pipeline": "^1.2.4", - "negotiator": "^0.6.2", + "negotiator": "^0.6.3", "promise-retry": "^2.0.1", - "socks-proxy-agent": "^6.0.0", - "ssri": "^8.0.0" + "socks-proxy-agent": "^6.1.1", + "ssri": "^8.0.1" }, "engines": { - "node": ">= 10" + "node": "^12.13.0 || ^14.15.0 || >=16" + } + }, + "node_modules/make-fetch-happen/node_modules/lru-cache": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.4.4.tgz", + "integrity": "sha512-2XbUJmlpIbmc9JvNNmtLzHlF31srxoDxuiQiwBHic7RZyHyltbTdzoO6maRqpdEhOOG5GD80EXvzAU0wR15ccg==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/make-fetch-happen/node_modules/minipass-fetch": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-2.0.3.tgz", + "integrity": "sha512-VA+eiiUtaIvpQJXISwE3OiMvQwAWrgKb97F0aXlCS1Ahikr8fEQq8m3Hf7Kv9KT3nokuHigJKsDMB6atU04olQ==", + "dev": true, + "dependencies": { + "minipass": "^3.1.6", + "minipass-sized": "^1.0.3", + "minizlib": "^2.1.2" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16" + }, + "optionalDependencies": { + "encoding": "^0.1.13" } }, "node_modules/make-iterator": { @@ -17446,9 +17577,9 @@ "dev": true }, "node_modules/ng-gallery": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/ng-gallery/-/ng-gallery-6.0.0.tgz", - "integrity": "sha512-cfufJykYyj4rHRr2UcSIWLBoly7qxuwc/Vuu+TCV+hw8sK3pvq2D/J9Ga7wkFWVE+stELasdcZclfaQ3dqgD/Q==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ng-gallery/-/ng-gallery-6.0.1.tgz", + "integrity": "sha512-p5ECc28nGTZgq+raIuWpcNYLtcLJIOfjGFzu6MG+3IHevDktNzFbODHGBwIlQ50K4+gfA4DrBUUL8oAz1eca+Q==", "dependencies": { "tslib": "^2.0.0" }, @@ -17456,7 +17587,7 @@ "@angular/cdk": ">=13.0.0", "@angular/common": ">=13.0.0", "@angular/core": ">=13.0.0", - "rxjs": ">=7.4.0" + "rxjs": ">=6.0.0" } }, "node_modules/ngx-translate-messageformat-compiler": { @@ -17548,9 +17679,9 @@ } }, "node_modules/node-fetch": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.2.0.tgz", - "integrity": "sha512-8xeimMwMItMw8hRrOl3C9/xzU49HV/yE6ORew/l+dxWimO5A4Ra8ld2rerlJvc/O7et5Z1zrWsPX43v1QBjCxw==", + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.2.2.tgz", + "integrity": "sha512-Cwhq1JFIoon15wcIkFzubVNFE5GvXGV82pKf4knXXjvGmn7RJKcypeuqcVNZMGDZsAFWyIRya/anwAJr7TWJ7w==", "dev": true, "dependencies": { "data-uri-to-buffer": "^4.0.0", @@ -17566,23 +17697,23 @@ } }, "node_modules/node-forge": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz", - "integrity": "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.2.1.tgz", + "integrity": "sha512-Fcvtbb+zBcZXbTTVwqGA5W+MKBj56UjVRevvchv5XrcyXbmNdesfZL37nlcWOfpgHhgmxApw3tQbTr4CqNmX4w==", "engines": { - "node": ">= 6.0.0" + "node": ">= 6.13.0" } }, "node_modules/node-gyp": { - "version": "8.4.1", - "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-8.4.1.tgz", - "integrity": "sha512-olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w==", + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-9.0.0.tgz", + "integrity": "sha512-Ma6p4s+XCTPxCuAMrOA/IJRmVy16R8Sdhtwl4PrCr7IBlj4cPawF0vg/l7nOT1jPbuNS7lIRJpBSvVsXwEZuzw==", "dev": true, "dependencies": { "env-paths": "^2.2.0", "glob": "^7.1.4", "graceful-fs": "^4.2.6", - "make-fetch-happen": "^9.1.0", + "make-fetch-happen": "^10.0.3", "nopt": "^5.0.0", "npmlog": "^6.0.0", "rimraf": "^3.0.2", @@ -17594,7 +17725,7 @@ "node-gyp": "bin/node-gyp.js" }, "engines": { - "node": ">= 10.12.0" + "node": "^12.22 || ^14.13 || >=16" } }, "node_modules/node-gyp-build": { @@ -17779,65 +17910,6 @@ "node": "^12.13.0 || ^14.15.0 || >=16" } }, - "node_modules/npm-registry-fetch/node_modules/@tootallnate/once": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", - "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", - "dev": true, - "engines": { - "node": ">= 10" - } - }, - "node_modules/npm-registry-fetch/node_modules/http-proxy-agent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", - "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", - "dev": true, - "dependencies": { - "@tootallnate/once": "2", - "agent-base": "6", - "debug": "4" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/npm-registry-fetch/node_modules/lru-cache": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.3.1.tgz", - "integrity": "sha512-nX1x4qUrKqwbIAhv4s9et4FIUVzNOpeY07bsjGUy8gwJrXH/wScImSQqXErmo/b2jZY2r0mohbLA9zVj7u1cNw==", - "dev": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/npm-registry-fetch/node_modules/make-fetch-happen": { - "version": "10.0.3", - "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-10.0.3.tgz", - "integrity": "sha512-CzarPHynPpHjhF5in/YapnO44rSZeYX5VCMfdXa99+gLwpbfFLh20CWa6dP/taV9Net9PWJwXNKtp/4ZTCQnag==", - "dev": true, - "dependencies": { - "agentkeepalive": "^4.2.0", - "cacache": "^15.3.0", - "http-cache-semantics": "^4.1.0", - "http-proxy-agent": "^5.0.0", - "https-proxy-agent": "^5.0.0", - "is-lambda": "^1.0.1", - "lru-cache": "^7.3.1", - "minipass": "^3.1.6", - "minipass-collect": "^1.0.2", - "minipass-fetch": "^1.4.1", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "negotiator": "^0.6.3", - "promise-retry": "^2.0.1", - "socks-proxy-agent": "^6.1.1", - "ssri": "^8.0.1" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16" - } - }, "node_modules/npm-run-all": { "version": "4.1.5", "resolved": "https://registry.npmjs.org/npm-run-all/-/npm-run-all-4.1.5.tgz", @@ -22398,15 +22470,6 @@ "node": ">=10" } }, - "node_modules/selfsigned/node_modules/node-forge": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.2.1.tgz", - "integrity": "sha512-Fcvtbb+zBcZXbTTVwqGA5W+MKBj56UjVRevvchv5XrcyXbmNdesfZL37nlcWOfpgHhgmxApw3tQbTr4CqNmX4w==", - "dev": true, - "engines": { - "node": ">= 6.13.0" - } - }, "node_modules/semver": { "version": "7.3.5", "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", @@ -22820,9 +22883,9 @@ "optional": true }, "node_modules/slug": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/slug/-/slug-5.2.0.tgz", - "integrity": "sha512-jMCvtl7B2iF+2YUNeSo88iVy+wSGX2Jlfj6Hi7RvaQNTPiqJ8BYJAB6XaurEQiiVGN3gIj6u6IZvaG4Ang5brw==" + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/slug/-/slug-5.3.0.tgz", + "integrity": "sha512-h7yD2UDVyMcQRv/WLSjq7HDH6ToO/22MB381zfx6/ebtdWUlGcyxpJNVHl6WFvKjIMHf5ZxANFp/srsy4mfT/w==" }, "node_modules/smart-buffer": { "version": "4.2.0", @@ -23993,11 +24056,12 @@ } }, "node_modules/terser": { - "version": "5.10.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.10.0.tgz", - "integrity": "sha512-AMmF99DMfEDiRJfxfY5jj5wNH/bYO09cniSqhfoyxc8sFoYIgkJy86G04UoZU5VjlpnplVu0K6Tx6E9b5+DlHA==", + "version": "5.11.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.11.0.tgz", + "integrity": "sha512-uCA9DLanzzWSsN1UirKwylhhRz3aKPInlfmpGfw8VN6jHsAtu8HJtIpeeHHK23rxnE/cDc+yvmq5wqkIC6Kn0A==", "dev": true, "dependencies": { + "acorn": "^8.5.0", "commander": "^2.20.0", "source-map": "~0.7.2", "source-map-support": "~0.5.20" @@ -24007,14 +24071,6 @@ }, "engines": { "node": ">=10" - }, - "peerDependencies": { - "acorn": "^8.5.0" - }, - "peerDependenciesMeta": { - "acorn": { - "optional": true - } } }, "node_modules/terser-webpack-plugin": { @@ -26308,14 +26364,14 @@ "dev": true }, "node_modules/win-ca": { - "version": "3.4.5", - "resolved": "https://registry.npmjs.org/win-ca/-/win-ca-3.4.5.tgz", - "integrity": "sha512-2xTLq3jah7Sg8Pt8me2rbTnDMxulrX6gSfU9lscyqjyE4gj34sd9w6LK0v8aNHzow+s0WEX1vve58EixZbXiLg==", + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/win-ca/-/win-ca-3.5.0.tgz", + "integrity": "sha512-0TgO/+2iz2pS3OxBy2ikovPHOYyZRdLRxRTT9ze7DpZwEpaahLFOBuac93GM3lYEVzDyf8fXskJjIX/EILvkhQ==", "hasInstallScript": true, "dependencies": { "is-electron": "^2.2.0", "make-dir": "^1.3.0", - "node-forge": "^0.10.0", + "node-forge": "^1.2.1", "split": "^1.0.1" } }, @@ -26692,12 +26748,12 @@ } }, "@angular-devkit/architect": { - "version": "0.1302.4", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1302.4.tgz", - "integrity": "sha512-9dS0Gvs4ER1DPSnKorJ4uk27A/rWwyvNy5CheOZu4ZTUnggGA7SFtMG7CKPD11Ae01lIMfxKfDqJYE8j2VpQaw==", + "version": "0.1302.6", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1302.6.tgz", + "integrity": "sha512-NztzorUMfwJeRaT7SY00Y8WSqc2lQYuF11yNoyEm7Dae3V7VZ28rW2Z9RwibP27rYQL0RjSMaz2wKITHX2vOAw==", "dev": true, "requires": { - "@angular-devkit/core": "13.2.4", + "@angular-devkit/core": "13.2.6", "rxjs": "6.6.7" }, "dependencies": { @@ -26719,15 +26775,15 @@ } }, "@angular-devkit/build-angular": { - "version": "13.2.4", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-13.2.4.tgz", - "integrity": "sha512-8fKIBMsQOIg+UFj+wL95SRYs/ED90cX3fjCKonE9TdOPLCEXC+nlZ0nbY45aGCmKiYlY9c9zhQiwgCGdVKSGYQ==", + "version": "13.2.6", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-13.2.6.tgz", + "integrity": "sha512-Y2ojy6xbZ0kwScppcutLHBP8eW0qNOjburTISSBU/L5l/9FOeZ1E7yAreKuVu/qibZiLbSJfAhk+SLwhRHFSSQ==", "dev": true, "requires": { "@ampproject/remapping": "1.1.1", - "@angular-devkit/architect": "0.1302.4", - "@angular-devkit/build-webpack": "0.1302.4", - "@angular-devkit/core": "13.2.4", + "@angular-devkit/architect": "0.1302.6", + "@angular-devkit/build-webpack": "0.1302.6", + "@angular-devkit/core": "13.2.6", "@babel/core": "7.16.12", "@babel/generator": "7.16.8", "@babel/helper-annotate-as-pure": "7.16.7", @@ -26738,7 +26794,7 @@ "@babel/runtime": "7.16.7", "@babel/template": "7.16.7", "@discoveryjs/json-ext": "0.5.6", - "@ngtools/webpack": "13.2.4", + "@ngtools/webpack": "13.2.6", "ansi-colors": "4.1.1", "babel-loader": "8.2.3", "babel-plugin-istanbul": "6.1.1", @@ -26780,7 +26836,7 @@ "source-map-support": "0.5.21", "stylus": "0.56.0", "stylus-loader": "6.2.0", - "terser": "5.10.0", + "terser": "5.11.0", "text-table": "0.2.0", "tree-kill": "1.2.2", "tslib": "2.3.1", @@ -26791,13 +26847,6 @@ "webpack-subresource-integrity": "5.1.0" }, "dependencies": { - "@ngtools/webpack": { - "version": "13.2.4", - "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-13.2.4.tgz", - "integrity": "sha512-+1wPzxKSrbf5ghFq5YWZvrPy7IACa+0AF16JYpWcdcW1D1u0Ug22IYN8gyEt7waJnD1HJn/d0jaeKNNpJiW1Cg==", - "dev": true, - "requires": {} - }, "core-js": { "version": "3.20.3", "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.20.3.tgz", @@ -26824,12 +26873,12 @@ } }, "@angular-devkit/build-webpack": { - "version": "0.1302.4", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1302.4.tgz", - "integrity": "sha512-GNHXSSnIbL4Oi3fBHTtRyQ308YMSDdKs/bVrArIq8QDbiCuB3RQfooEfvkoN2M++MeSW0vNqtQ7pZyxqRey6fQ==", + "version": "0.1302.6", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1302.6.tgz", + "integrity": "sha512-TYEh2n9tPe932rEIgdiSpojOqtDppW2jzb/empVqCkLF7WUZsXKvTanttZC34L6R2VD6SAGWhb6JDg75ghUVYA==", "dev": true, "requires": { - "@angular-devkit/architect": "0.1302.4", + "@angular-devkit/architect": "0.1302.6", "rxjs": "6.6.7" }, "dependencies": { @@ -26851,9 +26900,9 @@ } }, "@angular-devkit/core": { - "version": "13.2.4", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-13.2.4.tgz", - "integrity": "sha512-hSw1JWA/6dDAF/xleQRXGtzHphfU49TMUhvAoAmsmmz3NAn03xLy1dtqdIXIf+TkFXVvZDaAB2mW8KfRV67GFg==", + "version": "13.2.6", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-13.2.6.tgz", + "integrity": "sha512-8h2mWdBTN/dYwZuzKMg2IODlOWMdbJcpQG4XVrkk9ejCPP+3aX5Aa3glCe/voN6eBNiRfs8YDM0jxmpN2aWVtg==", "dev": true, "requires": { "ajv": "8.9.0", @@ -26882,12 +26931,12 @@ } }, "@angular-devkit/schematics": { - "version": "13.2.4", - "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-13.2.4.tgz", - "integrity": "sha512-VMhYa4cDu5yE31OvHncAd15Rmlchih/Sr6sxFsIwkg4xzRNIIZCtwqxVXgf0TiTN9zrvlvzK7nhPqTGNqqYb2A==", + "version": "13.2.6", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-13.2.6.tgz", + "integrity": "sha512-mPgSqdnZRuPSMeUA+T+mwVCrq2yhXpcYm1/Rjbhy09CyHs4wSrFv21WHCrE6shlvXpcmwr0n+I0DIeagAPmjUA==", "dev": true, "requires": { - "@angular-devkit/core": "13.2.4", + "@angular-devkit/core": "13.2.6", "jsonc-parser": "3.0.0", "magic-string": "0.25.7", "ora": "5.4.1", @@ -27076,32 +27125,32 @@ } }, "@angular/animations": { - "version": "13.2.3", - "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-13.2.3.tgz", - "integrity": "sha512-HfNNpDMSf5Var2Ti/vrmy576Uyp68hRaSNdFxxO9OYG3qH/5ZYVAv5ixz8Wu4RE+Lmw9jjzEfpL0BvK6BYWa4g==", + "version": "13.2.6", + "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-13.2.6.tgz", + "integrity": "sha512-DrjpKo68uR3lSLQQXosoTCbjKQS6IKRCpR14E2t8fo0AX8i2hkB8je4SrhdCyB7FgFN7l2kgUYo4Qa8+BOB+aA==", "requires": { "tslib": "^2.3.0" } }, "@angular/cdk": { - "version": "13.2.3", - "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-13.2.3.tgz", - "integrity": "sha512-X7FH0eGwfK2HcAroYBrE7O9ehZ50k9+DoDV98xm1NRgezNfiQ2QxIdLQKhJv0bnnID+pGk4Tnb44RXUmgk5idw==", + "version": "13.2.6", + "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-13.2.6.tgz", + "integrity": "sha512-epuXmaHqfukwPsYvIksbuHLXDtb6GALV2Vgv6W2asj4TorD584CeQTs0EcdPGmCzhGUYI8U8QV63WOxu9YFcNA==", "requires": { "parse5": "^5.0.0", "tslib": "^2.3.0" } }, "@angular/cli": { - "version": "13.2.4", - "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-13.2.4.tgz", - "integrity": "sha512-Llk0RzrpzCsAIgX4wk8QIB7xZInyLT07r6gF9dc9b0latHsJyRpeZXdPcFmT2wny0cin+1Y9q6HsBe4Srs19SA==", + "version": "13.2.6", + "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-13.2.6.tgz", + "integrity": "sha512-xIjEaQI5sWemXXc7GXLm4u9UL5sjtrQL/y1PJvvk/Jsa8+kIT+MutOfZfC7zcdAh9fqHd8mokH3guFV8BJdFxA==", "dev": true, "requires": { - "@angular-devkit/architect": "0.1302.4", - "@angular-devkit/core": "13.2.4", - "@angular-devkit/schematics": "13.2.4", - "@schematics/angular": "13.2.4", + "@angular-devkit/architect": "0.1302.6", + "@angular-devkit/core": "13.2.6", + "@angular-devkit/schematics": "13.2.6", + "@schematics/angular": "13.2.6", "@yarnpkg/lockfile": "1.1.0", "ansi-colors": "4.1.1", "debug": "4.3.3", @@ -27120,82 +27169,144 @@ } }, "@angular/common": { - "version": "13.2.3", - "resolved": "https://registry.npmjs.org/@angular/common/-/common-13.2.3.tgz", - "integrity": "sha512-aK42bLd8VIVsUPcIaPw+dwD3c1d7rigTUMbNQ7zqyEQMCajLPakpzM9QEnywdzWSJTJFUbp3h39jD7ZzQPuTTQ==", + "version": "13.2.6", + "resolved": "https://registry.npmjs.org/@angular/common/-/common-13.2.6.tgz", + "integrity": "sha512-t4XRb9db4UeRcPs5aHNtGuXRKSvGBlTEr0zzSeoKzHD9TCaO4dSDISh9obS9hThaPuBmPKRUHN5KE1HFmqnSHg==", "requires": { "tslib": "^2.3.0" } }, "@angular/compiler": { - "version": "13.2.3", - "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-13.2.3.tgz", - "integrity": "sha512-WUjzs0xa2UTHOChEs+cHHj75AieiwSvEKBoXjyINNUnmbyf3Q+khLlBScjB+40Y/zSDi1mKxuolv4KfyREk4DA==", + "version": "13.2.6", + "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-13.2.6.tgz", + "integrity": "sha512-LHU29J2/c/03WHkwtzUSElTBsXbzkKdYARodnNfsFdLPsWhyvzO3cqlcZYteFJxEy3dVH+ZrYDjqQ9Sp17aIgA==", "requires": { "tslib": "^2.3.0" } }, "@angular/compiler-cli": { - "version": "13.2.3", - "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-13.2.3.tgz", - "integrity": "sha512-Y3q1rjb6aqCMEAkDwzvTNjAkHbQWDmDIApTaqAZul2GsuTvqPLfdriSMxBAFe1WOfw+fKdncsMnV35ij+iOnHA==", + "version": "13.2.6", + "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-13.2.6.tgz", + "integrity": "sha512-QtlLKj3m6a2nkewFxhg+a3tQ2gEIBzMfI2c1laWUfAfJJ56phj79k8Z/kf2HQxypphWixyTK+ugpTlMdvvOquA==", "requires": { - "@babel/core": "^7.8.6", + "@babel/core": "^7.17.2", "chokidar": "^3.0.0", "convert-source-map": "^1.5.1", "dependency-graph": "^0.11.0", - "magic-string": "^0.25.0", + "magic-string": "^0.26.0", "reflect-metadata": "^0.1.2", "semver": "^7.0.0", "sourcemap-codec": "^1.4.8", "tslib": "^2.3.0", "yargs": "^17.2.1" + }, + "dependencies": { + "@ampproject/remapping": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.1.2.tgz", + "integrity": "sha512-hoyByceqwKirw7w3Z7gnIIZC3Wx3J484Y3L/cMpXFbr7d9ZQj2mODrirNzcJa+SM3UlpWXYvKV4RlRpFXlWgXg==", + "requires": { + "@jridgewell/trace-mapping": "^0.3.0" + } + }, + "@babel/core": { + "version": "7.17.5", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.17.5.tgz", + "integrity": "sha512-/BBMw4EvjmyquN5O+t5eh0+YqB3XXJkYD2cjKpYtWOfFy4lQ4UozNSmxAcWT8r2XtZs0ewG+zrfsqeR15i1ajA==", + "requires": { + "@ampproject/remapping": "^2.1.0", + "@babel/code-frame": "^7.16.7", + "@babel/generator": "^7.17.3", + "@babel/helper-compilation-targets": "^7.16.7", + "@babel/helper-module-transforms": "^7.16.7", + "@babel/helpers": "^7.17.2", + "@babel/parser": "^7.17.3", + "@babel/template": "^7.16.7", + "@babel/traverse": "^7.17.3", + "@babel/types": "^7.17.0", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.1.2", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + } + } + }, + "@babel/generator": { + "version": "7.17.3", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.17.3.tgz", + "integrity": "sha512-+R6Dctil/MgUsZsZAkYgK+ADNSZzJRRy0TvY65T71z/CR854xHQ1EweBYXdfT+HNeN7w0cSJJEzgxZMv40pxsg==", + "requires": { + "@babel/types": "^7.17.0", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + } + }, + "magic-string": { + "version": "0.26.1", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.26.1.tgz", + "integrity": "sha512-ndThHmvgtieXe8J/VGPjG+Apu7v7ItcD5mhEIvOscWjPF/ccOiLxHaSuCAS2G+3x4GKsAbT8u7zdyamupui8Tg==", + "requires": { + "sourcemap-codec": "^1.4.8" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + } } }, "@angular/core": { - "version": "13.2.3", - "resolved": "https://registry.npmjs.org/@angular/core/-/core-13.2.3.tgz", - "integrity": "sha512-81QtWR+UQgCo5xJwExzKaRUd9aXJoOGbWfh3MZSUkiv+PTMXwmfU3lZxpz9S/y2uwvaVqZdW5MN/RzpKv6tHxA==", + "version": "13.2.6", + "resolved": "https://registry.npmjs.org/@angular/core/-/core-13.2.6.tgz", + "integrity": "sha512-ctWsxuaSO3d3afLW+wkJSyiEIA2uhaTKNps9x5wz/oZJDaUDYVa4PM4x7/UHn2bXzBjXjN9LSW8h9F31iwmcTg==", "requires": { "tslib": "^2.3.0" } }, "@angular/forms": { - "version": "13.2.3", - "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-13.2.3.tgz", - "integrity": "sha512-fOsWiimPTQCDtZj+Hqc4+Io7v4aKjJJUIRoxN/wQqik66Gg/1rs4iWtpdxm4vgyQD0rUFZaRLHhsh+ldIFw7CA==", + "version": "13.2.6", + "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-13.2.6.tgz", + "integrity": "sha512-3IikvNtO0RBiGb2AWl8aYcE3ivXHPIJz+JOn9Wz9XXSkYx75D3GjuJlz+fVIgz+7Q7tJuS6Q2E5qat/ldeDmoA==", "requires": { "tslib": "^2.3.0" } }, "@angular/material": { - "version": "13.2.3", - "resolved": "https://registry.npmjs.org/@angular/material/-/material-13.2.3.tgz", - "integrity": "sha512-io9NzL32QKBngSpNbnIGRN0/qhkGpyfZHnpW+IOsYa4gMlXqi0JMV5Ygi+O1Dvd57TXzbb3e2eggdZyAWe7IDA==", + "version": "13.2.6", + "resolved": "https://registry.npmjs.org/@angular/material/-/material-13.2.6.tgz", + "integrity": "sha512-/h5wa/tXE0DMIIEQX+rozFkUWHYUWg1Xf1R2tXUFLslLQ0KRCGyNo225Sv/1wrxXHxfrML787lA9ex4p90Feqw==", "requires": { "tslib": "^2.3.0" } }, "@angular/platform-browser": { - "version": "13.2.3", - "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-13.2.3.tgz", - "integrity": "sha512-kdV51osiEkW7hwwh7wQMy+9+e7lGFXQBnHVxIiyVQI1nKVfWykzc1Vt5oGw7zuBkkJat2Gs3Mq2lqaXMa2Xl1g==", + "version": "13.2.6", + "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-13.2.6.tgz", + "integrity": "sha512-Gc/1TqysW+P+K3NeQihmHWs4KF1mjJT20s06r+YcETnPP11uPk+UxQl7gJNsDV587DYO/wT3oISXVpRw4UJhdQ==", "requires": { "tslib": "^2.3.0" } }, "@angular/platform-browser-dynamic": { - "version": "13.2.3", - "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-13.2.3.tgz", - "integrity": "sha512-dCHVyYsbEZR+Ekk47fZFh9zjFD/pryrwSelFStMUoGKExJxsVIVBzgdHwzPBVFh9gwjVCvBOmLpMcVMRNMq9cQ==", + "version": "13.2.6", + "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-13.2.6.tgz", + "integrity": "sha512-m77+pzwZw+4kiRhxzrj1kE3N1K82I8Xt+vEBKSL2Xv42hCX0T37erC6KlztFEDj4A68s5+/0C5vfwhEiDcr/Cw==", "requires": { "tslib": "^2.3.0" } }, "@angular/router": { - "version": "13.2.3", - "resolved": "https://registry.npmjs.org/@angular/router/-/router-13.2.3.tgz", - "integrity": "sha512-niU8/19wmPSeuvKCHfaDbw+DPfE9gI0divcnwqGEB8tSbs7VNIaTmhLs9yMU+pD6puUYk3gUFTXLBl+g3qwOpg==", + "version": "13.2.6", + "resolved": "https://registry.npmjs.org/@angular/router/-/router-13.2.6.tgz", + "integrity": "sha512-dA9vL4mPLp+iNegzuvm9FaEWirFI2ZK3WQgbdoxoIpneym+BxRTkNDzPcvEaqfUf7eDGRBqlWakFDrd+H2QEbg==", "requires": { "tslib": "^2.3.0" } @@ -28560,9 +28671,9 @@ } }, "@eslint/eslintrc": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.1.0.tgz", - "integrity": "sha512-C1DfL7XX4nPqGd6jcP01W9pVM1HYCuUkFk1432D7F0v3JSlUIeOYn9oCoi3eoLZ+iwBSb29BMFxxny0YrrEZqg==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.2.0.tgz", + "integrity": "sha512-igm9SjJHNEJRiUnecP/1R5T3wKLEJ7pL6e2P+GUSfCd0dGjPYYZve08uzw8L2J8foVHFz+NGu12JxRcU2gGo6w==", "dev": true, "requires": { "ajv": "^6.12.4", @@ -28737,8 +28848,21 @@ "@jridgewell/resolve-uri": { "version": "3.0.5", "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.5.tgz", - "integrity": "sha512-VPeQ7+wH0itvQxnG+lIzWgkysKIr3L9sslimFW55rHMdGu/qCQ5z5h9zq4gI8uBtqkpHhsF4Z/OwExufUCThew==", - "dev": true + "integrity": "sha512-VPeQ7+wH0itvQxnG+lIzWgkysKIr3L9sslimFW55rHMdGu/qCQ5z5h9zq4gI8uBtqkpHhsF4Z/OwExufUCThew==" + }, + "@jridgewell/sourcemap-codec": { + "version": "1.4.11", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.11.tgz", + "integrity": "sha512-Fg32GrJo61m+VqYSdRSjRXMjQ06j8YIYfcTqndLYVAaHmroZHLJZCydsWBOTDqXS2v+mjxohBWEMfg97GXmYQg==" + }, + "@jridgewell/trace-mapping": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.4.tgz", + "integrity": "sha512-vFv9ttIedivx0ux3QSjhgtCVjPZd5l46ZOMDSCwnH1yUO2e964gO8LZGyv2QkqcgR6TnBU1v+1IFqmeoG+0UJQ==", + "requires": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } }, "@malept/cross-spawn-promise": { "version": "1.1.1", @@ -28762,64 +28886,64 @@ } }, "@microsoft/applicationinsights-analytics-js": { - "version": "2.7.3", - "resolved": "https://registry.npmjs.org/@microsoft/applicationinsights-analytics-js/-/applicationinsights-analytics-js-2.7.3.tgz", - "integrity": "sha512-2MF3finxqyMDUzJDZwIkl/FUdOmIdYJg4A556bS3ILtPptsoAE6CvmenBL4qmIlscPIpwhjZ/qFEnxNHplH9OA==", + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/@microsoft/applicationinsights-analytics-js/-/applicationinsights-analytics-js-2.7.4.tgz", + "integrity": "sha512-jX5qbqAQRbWcSRLSyPe8uITWGz+aVLYnyHuX5MLjIMJ/JXtWkfOY8n8YTGQaZ0VH0oHmMioHtBqvw/IchUSZ4Q==", "requires": { - "@microsoft/applicationinsights-common": "2.7.3", - "@microsoft/applicationinsights-core-js": "2.7.3", + "@microsoft/applicationinsights-common": "2.7.4", + "@microsoft/applicationinsights-core-js": "2.7.4", "@microsoft/applicationinsights-shims": "2.0.1", "@microsoft/dynamicproto-js": "^1.1.4" } }, "@microsoft/applicationinsights-channel-js": { - "version": "2.7.3", - "resolved": "https://registry.npmjs.org/@microsoft/applicationinsights-channel-js/-/applicationinsights-channel-js-2.7.3.tgz", - "integrity": "sha512-LMrRycKHYKLYAxJeaKVvHrElslgGQqMyX43Q80qY6Wy8fY/g/RwPSDr3sbFaxZ4G2J7N74mjOR4wYsKfk4YNYA==", + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/@microsoft/applicationinsights-channel-js/-/applicationinsights-channel-js-2.7.4.tgz", + "integrity": "sha512-pcKn2fbF+hDbmWITsE8aN07FVRVZn/NxAUKbouudG6QWNvSNSpMuep88yxlU8mSP2imWjuXIFP6NuGNOEXec8w==", "requires": { - "@microsoft/applicationinsights-common": "2.7.3", - "@microsoft/applicationinsights-core-js": "2.7.3", + "@microsoft/applicationinsights-common": "2.7.4", + "@microsoft/applicationinsights-core-js": "2.7.4", "@microsoft/applicationinsights-shims": "2.0.1", "@microsoft/dynamicproto-js": "^1.1.4" } }, "@microsoft/applicationinsights-common": { - "version": "2.7.3", - "resolved": "https://registry.npmjs.org/@microsoft/applicationinsights-common/-/applicationinsights-common-2.7.3.tgz", - "integrity": "sha512-gbEbxCnpEJlFQeVG9DLpHYOgY2AYxczUSccaDicVMu/f8ci2NHxZylvBEfjPM3cVc+Ra2V/Bj4mqLH5fqSRW9A==", + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/@microsoft/applicationinsights-common/-/applicationinsights-common-2.7.4.tgz", + "integrity": "sha512-tLcU9AHTescd09/EZ4uXoEVCOCMjkTgzblc7lZECOU7mm51VQrDCdlYQ3Br9lnNnyOrFw0+f3o+O9ock55I05g==", "requires": { - "@microsoft/applicationinsights-core-js": "2.7.3", + "@microsoft/applicationinsights-core-js": "2.7.4", "@microsoft/applicationinsights-shims": "2.0.1", "@microsoft/dynamicproto-js": "^1.1.4" } }, "@microsoft/applicationinsights-core-js": { - "version": "2.7.3", - "resolved": "https://registry.npmjs.org/@microsoft/applicationinsights-core-js/-/applicationinsights-core-js-2.7.3.tgz", - "integrity": "sha512-mJ2n86rwjVPiOoKDt7YcxKKSlg4S5ZCQSGMv2KNl5glL66mhMFxgZbYUakO39ZEkEXCsqk7Yi5jSfr7LMvQwtA==", + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/@microsoft/applicationinsights-core-js/-/applicationinsights-core-js-2.7.4.tgz", + "integrity": "sha512-PlJ/ITQjvDhirdo7CSloSx5UTDntou9MF+nYgc+W/wM9vPYnz3gFfiuY59L30si3C3zSBMmUTLuDnXRvgLGRAw==", "requires": { "@microsoft/applicationinsights-shims": "2.0.1", "@microsoft/dynamicproto-js": "^1.1.4" } }, "@microsoft/applicationinsights-dependencies-js": { - "version": "2.7.3", - "resolved": "https://registry.npmjs.org/@microsoft/applicationinsights-dependencies-js/-/applicationinsights-dependencies-js-2.7.3.tgz", - "integrity": "sha512-pq9obyTfkG5tGt0BQcBjSUUc1imLZ/N8UXQ6l8tfinKukTFk+X9BtajCkrXNA8xT7kMwAmlztgrY6ZWqahRj3A==", + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/@microsoft/applicationinsights-dependencies-js/-/applicationinsights-dependencies-js-2.7.4.tgz", + "integrity": "sha512-rwJWZ4a3k943fwejgT8Lr3sfXZRrLcho7V9Q+EIZdzxZkDzVJxj33CF6Kb8TIISgxgG9yqr3rDBsG/GLhgQ2iA==", "requires": { - "@microsoft/applicationinsights-common": "2.7.3", - "@microsoft/applicationinsights-core-js": "2.7.3", + "@microsoft/applicationinsights-common": "2.7.4", + "@microsoft/applicationinsights-core-js": "2.7.4", "@microsoft/applicationinsights-shims": "2.0.1", "@microsoft/dynamicproto-js": "^1.1.4" } }, "@microsoft/applicationinsights-properties-js": { - "version": "2.7.3", - "resolved": "https://registry.npmjs.org/@microsoft/applicationinsights-properties-js/-/applicationinsights-properties-js-2.7.3.tgz", - "integrity": "sha512-LdQ3kH8o+bqalMLBWIv/J4Jx3niuDzdcYF1kjRv45SouU7iredRkH8M9rBn6+FesVC0t2cDmqooJBWOuPb7PfA==", + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/@microsoft/applicationinsights-properties-js/-/applicationinsights-properties-js-2.7.4.tgz", + "integrity": "sha512-kqYpQxMuK+EGoD2Q1rY+7NiEUsIRO3gepxBVn+ptUDtOsQGgAra/v/x5FqiKWcdVWyyESl/9e1FKoiMe9MKdlA==", "requires": { - "@microsoft/applicationinsights-common": "2.7.3", - "@microsoft/applicationinsights-core-js": "2.7.3", + "@microsoft/applicationinsights-common": "2.7.4", + "@microsoft/applicationinsights-core-js": "2.7.4", "@microsoft/applicationinsights-shims": "2.0.1", "@microsoft/dynamicproto-js": "^1.1.4" } @@ -28830,16 +28954,16 @@ "integrity": "sha512-G0MXf6R6HndRbDy9BbEj0zrLeuhwt2nsXk2zKtF0TnYo39KgYqhYC2ayIzKPTm2KAE+xzD7rgyLdZnrcRvt9WQ==" }, "@microsoft/applicationinsights-web": { - "version": "2.7.3", - "resolved": "https://registry.npmjs.org/@microsoft/applicationinsights-web/-/applicationinsights-web-2.7.3.tgz", - "integrity": "sha512-rHlFEQvW0KbAn4o2JcuJE2Qt73UeL7boKy4CGx5ixm3Lg/fEGQlu+b6r6wQvtuKOhGN563qe3PG2pUStcQPjbw==", + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/@microsoft/applicationinsights-web/-/applicationinsights-web-2.7.4.tgz", + "integrity": "sha512-9IncUpF80vndiyOHLhYkSJZwdFXkELOhIdtr+EiVWzVSsbpJvU5jVn0IzOXGMnuhY3e61nTyJxCVovLCXnrKtQ==", "requires": { - "@microsoft/applicationinsights-analytics-js": "2.7.3", - "@microsoft/applicationinsights-channel-js": "2.7.3", - "@microsoft/applicationinsights-common": "2.7.3", - "@microsoft/applicationinsights-core-js": "2.7.3", - "@microsoft/applicationinsights-dependencies-js": "2.7.3", - "@microsoft/applicationinsights-properties-js": "2.7.3", + "@microsoft/applicationinsights-analytics-js": "2.7.4", + "@microsoft/applicationinsights-channel-js": "2.7.4", + "@microsoft/applicationinsights-common": "2.7.4", + "@microsoft/applicationinsights-core-js": "2.7.4", + "@microsoft/applicationinsights-dependencies-js": "2.7.4", + "@microsoft/applicationinsights-properties-js": "2.7.4", "@microsoft/applicationinsights-shims": "2.0.1", "@microsoft/dynamicproto-js": "^1.1.4" } @@ -28849,6 +28973,13 @@ "resolved": "https://registry.npmjs.org/@microsoft/dynamicproto-js/-/dynamicproto-js-1.1.4.tgz", "integrity": "sha512-Ot53G927ykMF8cQ3/zq4foZtdk+Tt1YpX7aUTHxBU7UHNdkEiBvBfZSq+rnlUmKCJ19VatwPG4mNzvcGpBj4og==" }, + "@ngtools/webpack": { + "version": "13.2.6", + "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-13.2.6.tgz", + "integrity": "sha512-N8SvRV91+/57TcAfbghc0k0tKCukw/7KqbDaLPAQTGFekJ4xMGT3elMzOyBXTH3Hvp5HL8/hiBt2tG04qiMf+w==", + "dev": true, + "requires": {} + }, "@ngx-translate/core": { "version": "14.0.0", "resolved": "https://registry.npmjs.org/@ngx-translate/core/-/core-14.0.0.tgz", @@ -28979,6 +29110,67 @@ "@npmcli/promise-spawn": "^1.3.2", "node-gyp": "^8.2.0", "read-package-json-fast": "^2.0.1" + }, + "dependencies": { + "@tootallnate/once": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", + "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", + "dev": true + }, + "http-proxy-agent": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", + "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", + "dev": true, + "requires": { + "@tootallnate/once": "1", + "agent-base": "6", + "debug": "4" + } + }, + "make-fetch-happen": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz", + "integrity": "sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg==", + "dev": true, + "requires": { + "agentkeepalive": "^4.1.3", + "cacache": "^15.2.0", + "http-cache-semantics": "^4.1.0", + "http-proxy-agent": "^4.0.1", + "https-proxy-agent": "^5.0.0", + "is-lambda": "^1.0.1", + "lru-cache": "^6.0.0", + "minipass": "^3.1.3", + "minipass-collect": "^1.0.2", + "minipass-fetch": "^1.3.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.2", + "promise-retry": "^2.0.1", + "socks-proxy-agent": "^6.0.0", + "ssri": "^8.0.0" + } + }, + "node-gyp": { + "version": "8.4.1", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-8.4.1.tgz", + "integrity": "sha512-olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w==", + "dev": true, + "requires": { + "env-paths": "^2.2.0", + "glob": "^7.1.4", + "graceful-fs": "^4.2.6", + "make-fetch-happen": "^9.1.0", + "nopt": "^5.0.0", + "npmlog": "^6.0.0", + "rimraf": "^3.0.2", + "semver": "^7.3.5", + "tar": "^6.1.2", + "which": "^2.0.2" + } + } } }, "@nrwl/cli": { @@ -29368,13 +29560,13 @@ "integrity": "sha1-p3c2C1s5oaLlEG+OhY8v0tBgxXA=" }, "@schematics/angular": { - "version": "13.2.4", - "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-13.2.4.tgz", - "integrity": "sha512-pAVuPmFklWVpNJkARs4aGYM5Mo4iez0eW0dDY+ugxZlt1KOLJQDmMK2Go60iEAQLlOw2pKO/jcmTttOP8PN0UQ==", + "version": "13.2.6", + "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-13.2.6.tgz", + "integrity": "sha512-8NzHMX9+FSgaB0lJYxlTJv9OcBuolwZJqo9M/yX3RPSqSHghA33jWwgVbV551hBJOpbVEePerG1DQkIC99DXKA==", "dev": true, "requires": { - "@angular-devkit/core": "13.2.4", - "@angular-devkit/schematics": "13.2.4", + "@angular-devkit/core": "13.2.6", + "@angular-devkit/schematics": "13.2.6", "jsonc-parser": "3.0.0" } }, @@ -29421,9 +29613,9 @@ } }, "@tootallnate/once": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", - "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", + "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", "dev": true }, "@tsconfig/node10": { @@ -29689,9 +29881,9 @@ "dev": true }, "@types/lodash": { - "version": "4.14.178", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.178.tgz", - "integrity": "sha512-0d5Wd09ItQWH1qFbEyQ7oTQ3GZrMfth5JkbN3EvTKLXcHLRDSXeLnlvlOn0wvxVIwK5o2M8JzP/OWz7T3NRsbw==", + "version": "4.14.179", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.179.tgz", + "integrity": "sha512-uwc1x90yCKqGcIOAT6DwOSuxnrAbpkdPsUOZtwrXb4D/6wZs+6qG7QnIawDuZWg0sWpxl+ltIKCaLoMlna678w==", "dev": true }, "@types/long": { @@ -29874,9 +30066,9 @@ "dev": true }, "@types/ws": { - "version": "8.2.2", - "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.2.2.tgz", - "integrity": "sha512-NOn5eIcgWLOo6qW8AcuLZ7G8PycXu0xTxxkS6Q18VWFxgPUSOwV0pBj2a/4viNZVu25i7RIB7GttdkAIUUXOOg==", + "version": "8.5.2", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.2.tgz", + "integrity": "sha512-VXI82ykONr5tacHEojnErTQk+KQSoYbW1NB6iz6wUwrNd+BqfkfggQNoNdCqhJSzbNumShPERbM+Pc5zpfhlbw==", "dev": true, "requires": { "@types/node": "*" @@ -29908,14 +30100,14 @@ } }, "@typescript-eslint/eslint-plugin": { - "version": "5.12.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.12.1.tgz", - "integrity": "sha512-M499lqa8rnNK7mUv74lSFFttuUsubIRdAbHcVaP93oFcKkEmHmLqy2n7jM9C8DVmFMYK61ExrZU6dLYhQZmUpw==", + "version": "5.14.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.14.0.tgz", + "integrity": "sha512-ir0wYI4FfFUDfLcuwKzIH7sMVA+db7WYen47iRSaCGl+HMAZI9fpBwfDo45ZALD3A45ZGyHWDNLhbg8tZrMX4w==", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "5.12.1", - "@typescript-eslint/type-utils": "5.12.1", - "@typescript-eslint/utils": "5.12.1", + "@typescript-eslint/scope-manager": "5.14.0", + "@typescript-eslint/type-utils": "5.14.0", + "@typescript-eslint/utils": "5.14.0", "debug": "^4.3.2", "functional-red-black-tree": "^1.0.1", "ignore": "^5.1.8", @@ -29925,30 +30117,30 @@ }, "dependencies": { "@typescript-eslint/type-utils": { - "version": "5.12.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.12.1.tgz", - "integrity": "sha512-Gh8feEhsNLeCz6aYqynh61Vsdy+tiNNkQtc+bN3IvQvRqHkXGUhYkUi+ePKzP0Mb42se7FDb+y2SypTbpbR/Sg==", + "version": "5.14.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.14.0.tgz", + "integrity": "sha512-d4PTJxsqaUpv8iERTDSQBKUCV7Q5yyXjqXUl3XF7Sd9ogNLuKLkxz82qxokqQ4jXdTPZudWpmNtr/JjbbvUixw==", "dev": true, "requires": { - "@typescript-eslint/utils": "5.12.1", + "@typescript-eslint/utils": "5.14.0", "debug": "^4.3.2", "tsutils": "^3.21.0" } }, "@typescript-eslint/types": { - "version": "5.12.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.12.1.tgz", - "integrity": "sha512-hfcbq4qVOHV1YRdhkDldhV9NpmmAu2vp6wuFODL71Y0Ixak+FLeEU4rnPxgmZMnGreGEghlEucs9UZn5KOfHJA==", + "version": "5.14.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.14.0.tgz", + "integrity": "sha512-BR6Y9eE9360LNnW3eEUqAg6HxS9Q35kSIs4rp4vNHRdfg0s+/PgHgskvu5DFTM7G5VKAVjuyaN476LCPrdA7Mw==", "dev": true }, "@typescript-eslint/typescript-estree": { - "version": "5.12.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.12.1.tgz", - "integrity": "sha512-ahOdkIY9Mgbza7L9sIi205Pe1inCkZWAHE1TV1bpxlU4RZNPtXaDZfiiFWcL9jdxvW1hDYZJXrFm+vlMkXRbBw==", + "version": "5.14.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.14.0.tgz", + "integrity": "sha512-QGnxvROrCVtLQ1724GLTHBTR0lZVu13izOp9njRvMkCBgWX26PKvmMP8k82nmXBRD3DQcFFq2oj3cKDwr0FaUA==", "dev": true, "requires": { - "@typescript-eslint/types": "5.12.1", - "@typescript-eslint/visitor-keys": "5.12.1", + "@typescript-eslint/types": "5.14.0", + "@typescript-eslint/visitor-keys": "5.14.0", "debug": "^4.3.2", "globby": "^11.0.4", "is-glob": "^4.0.3", @@ -29957,15 +30149,15 @@ } }, "@typescript-eslint/utils": { - "version": "5.12.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.12.1.tgz", - "integrity": "sha512-Qq9FIuU0EVEsi8fS6pG+uurbhNTtoYr4fq8tKjBupsK5Bgbk2I32UGm0Sh+WOyjOPgo/5URbxxSNV6HYsxV4MQ==", + "version": "5.14.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.14.0.tgz", + "integrity": "sha512-EHwlII5mvUA0UsKYnVzySb/5EE/t03duUTweVy8Zqt3UQXBrpEVY144OTceFKaOe4xQXZJrkptCf7PjEBeGK4w==", "dev": true, "requires": { "@types/json-schema": "^7.0.9", - "@typescript-eslint/scope-manager": "5.12.1", - "@typescript-eslint/types": "5.12.1", - "@typescript-eslint/typescript-estree": "5.12.1", + "@typescript-eslint/scope-manager": "5.14.0", + "@typescript-eslint/types": "5.14.0", + "@typescript-eslint/typescript-estree": "5.14.0", "eslint-scope": "^5.1.1", "eslint-utils": "^3.0.0" } @@ -29973,29 +30165,29 @@ } }, "@typescript-eslint/eslint-plugin-tslint": { - "version": "5.12.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin-tslint/-/eslint-plugin-tslint-5.12.1.tgz", - "integrity": "sha512-W11pKA3fTQ8pDdPnzC35GqZeGvwN8vY5t36hENcdqFWsM1VlEIbz/9Ag4Nktif3LNKtYKmCHQqh7Yp01xIOPKg==", + "version": "5.14.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin-tslint/-/eslint-plugin-tslint-5.14.0.tgz", + "integrity": "sha512-HFBh3Hv5z52qgUoA+fwCCUxqcho3kVyKlsmD5Gn11WVth5HaohOTYq4r0PeRNlRGmx1mvspo46JgFq9tXC3AXg==", "dev": true, "requires": { - "@typescript-eslint/utils": "5.12.1", + "@typescript-eslint/utils": "5.14.0", "lodash": "^4.17.21" }, "dependencies": { "@typescript-eslint/types": { - "version": "5.12.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.12.1.tgz", - "integrity": "sha512-hfcbq4qVOHV1YRdhkDldhV9NpmmAu2vp6wuFODL71Y0Ixak+FLeEU4rnPxgmZMnGreGEghlEucs9UZn5KOfHJA==", + "version": "5.14.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.14.0.tgz", + "integrity": "sha512-BR6Y9eE9360LNnW3eEUqAg6HxS9Q35kSIs4rp4vNHRdfg0s+/PgHgskvu5DFTM7G5VKAVjuyaN476LCPrdA7Mw==", "dev": true }, "@typescript-eslint/typescript-estree": { - "version": "5.12.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.12.1.tgz", - "integrity": "sha512-ahOdkIY9Mgbza7L9sIi205Pe1inCkZWAHE1TV1bpxlU4RZNPtXaDZfiiFWcL9jdxvW1hDYZJXrFm+vlMkXRbBw==", + "version": "5.14.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.14.0.tgz", + "integrity": "sha512-QGnxvROrCVtLQ1724GLTHBTR0lZVu13izOp9njRvMkCBgWX26PKvmMP8k82nmXBRD3DQcFFq2oj3cKDwr0FaUA==", "dev": true, "requires": { - "@typescript-eslint/types": "5.12.1", - "@typescript-eslint/visitor-keys": "5.12.1", + "@typescript-eslint/types": "5.14.0", + "@typescript-eslint/visitor-keys": "5.14.0", "debug": "^4.3.2", "globby": "^11.0.4", "is-glob": "^4.0.3", @@ -30004,15 +30196,15 @@ } }, "@typescript-eslint/utils": { - "version": "5.12.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.12.1.tgz", - "integrity": "sha512-Qq9FIuU0EVEsi8fS6pG+uurbhNTtoYr4fq8tKjBupsK5Bgbk2I32UGm0Sh+WOyjOPgo/5URbxxSNV6HYsxV4MQ==", + "version": "5.14.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.14.0.tgz", + "integrity": "sha512-EHwlII5mvUA0UsKYnVzySb/5EE/t03duUTweVy8Zqt3UQXBrpEVY144OTceFKaOe4xQXZJrkptCf7PjEBeGK4w==", "dev": true, "requires": { "@types/json-schema": "^7.0.9", - "@typescript-eslint/scope-manager": "5.12.1", - "@typescript-eslint/types": "5.12.1", - "@typescript-eslint/typescript-estree": "5.12.1", + "@typescript-eslint/scope-manager": "5.14.0", + "@typescript-eslint/types": "5.14.0", + "@typescript-eslint/typescript-estree": "5.14.0", "eslint-scope": "^5.1.1", "eslint-utils": "^3.0.0" } @@ -30020,31 +30212,31 @@ } }, "@typescript-eslint/parser": { - "version": "5.12.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.12.1.tgz", - "integrity": "sha512-6LuVUbe7oSdHxUWoX/m40Ni8gsZMKCi31rlawBHt7VtW15iHzjbpj2WLiToG2758KjtCCiLRKZqfrOdl3cNKuw==", + "version": "5.14.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.14.0.tgz", + "integrity": "sha512-aHJN8/FuIy1Zvqk4U/gcO/fxeMKyoSv/rS46UXMXOJKVsLQ+iYPuXNbpbH7cBLcpSbmyyFbwrniLx5+kutu1pw==", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "5.12.1", - "@typescript-eslint/types": "5.12.1", - "@typescript-eslint/typescript-estree": "5.12.1", + "@typescript-eslint/scope-manager": "5.14.0", + "@typescript-eslint/types": "5.14.0", + "@typescript-eslint/typescript-estree": "5.14.0", "debug": "^4.3.2" }, "dependencies": { "@typescript-eslint/types": { - "version": "5.12.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.12.1.tgz", - "integrity": "sha512-hfcbq4qVOHV1YRdhkDldhV9NpmmAu2vp6wuFODL71Y0Ixak+FLeEU4rnPxgmZMnGreGEghlEucs9UZn5KOfHJA==", + "version": "5.14.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.14.0.tgz", + "integrity": "sha512-BR6Y9eE9360LNnW3eEUqAg6HxS9Q35kSIs4rp4vNHRdfg0s+/PgHgskvu5DFTM7G5VKAVjuyaN476LCPrdA7Mw==", "dev": true }, "@typescript-eslint/typescript-estree": { - "version": "5.12.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.12.1.tgz", - "integrity": "sha512-ahOdkIY9Mgbza7L9sIi205Pe1inCkZWAHE1TV1bpxlU4RZNPtXaDZfiiFWcL9jdxvW1hDYZJXrFm+vlMkXRbBw==", + "version": "5.14.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.14.0.tgz", + "integrity": "sha512-QGnxvROrCVtLQ1724GLTHBTR0lZVu13izOp9njRvMkCBgWX26PKvmMP8k82nmXBRD3DQcFFq2oj3cKDwr0FaUA==", "dev": true, "requires": { - "@typescript-eslint/types": "5.12.1", - "@typescript-eslint/visitor-keys": "5.12.1", + "@typescript-eslint/types": "5.14.0", + "@typescript-eslint/visitor-keys": "5.14.0", "debug": "^4.3.2", "globby": "^11.0.4", "is-glob": "^4.0.3", @@ -30055,19 +30247,19 @@ } }, "@typescript-eslint/scope-manager": { - "version": "5.12.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.12.1.tgz", - "integrity": "sha512-J0Wrh5xS6XNkd4TkOosxdpObzlYfXjAFIm9QxYLCPOcHVv1FyyFCPom66uIh8uBr0sZCrtS+n19tzufhwab8ZQ==", + "version": "5.14.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.14.0.tgz", + "integrity": "sha512-LazdcMlGnv+xUc5R4qIlqH0OWARyl2kaP8pVCS39qSL3Pd1F7mI10DbdXeARcE62sVQE4fHNvEqMWsypWO+yEw==", "dev": true, "requires": { - "@typescript-eslint/types": "5.12.1", - "@typescript-eslint/visitor-keys": "5.12.1" + "@typescript-eslint/types": "5.14.0", + "@typescript-eslint/visitor-keys": "5.14.0" }, "dependencies": { "@typescript-eslint/types": { - "version": "5.12.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.12.1.tgz", - "integrity": "sha512-hfcbq4qVOHV1YRdhkDldhV9NpmmAu2vp6wuFODL71Y0Ixak+FLeEU4rnPxgmZMnGreGEghlEucs9UZn5KOfHJA==", + "version": "5.14.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.14.0.tgz", + "integrity": "sha512-BR6Y9eE9360LNnW3eEUqAg6HxS9Q35kSIs4rp4vNHRdfg0s+/PgHgskvu5DFTM7G5VKAVjuyaN476LCPrdA7Mw==", "dev": true } } @@ -30106,19 +30298,19 @@ } }, "@typescript-eslint/visitor-keys": { - "version": "5.12.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.12.1.tgz", - "integrity": "sha512-l1KSLfupuwrXx6wc0AuOmC7Ko5g14ZOQ86wJJqRbdLbXLK02pK/DPiDDqCc7BqqiiA04/eAA6ayL0bgOrAkH7A==", + "version": "5.14.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.14.0.tgz", + "integrity": "sha512-yL0XxfzR94UEkjBqyymMLgCBdojzEuy/eim7N9/RIcTNxpJudAcqsU8eRyfzBbcEzGoPWfdM3AGak3cN08WOIw==", "dev": true, "requires": { - "@typescript-eslint/types": "5.12.1", + "@typescript-eslint/types": "5.14.0", "eslint-visitor-keys": "^3.0.0" }, "dependencies": { "@typescript-eslint/types": { - "version": "5.12.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.12.1.tgz", - "integrity": "sha512-hfcbq4qVOHV1YRdhkDldhV9NpmmAu2vp6wuFODL71Y0Ixak+FLeEU4rnPxgmZMnGreGEghlEucs9UZn5KOfHJA==", + "version": "5.14.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.14.0.tgz", + "integrity": "sha512-BR6Y9eE9360LNnW3eEUqAg6HxS9Q35kSIs4rp4vNHRdfg0s+/PgHgskvu5DFTM7G5VKAVjuyaN476LCPrdA7Mw==", "dev": true } } @@ -30645,9 +30837,9 @@ } }, "agentkeepalive": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.2.0.tgz", - "integrity": "sha512-0PhAp58jZNw13UJv7NVdTGb0ZcghHUb3DrZ046JiiJY/BOaTTpbwdHq2VObPCBV8M2GPh7sgrJ3AQ8Ey468LJw==", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.2.1.tgz", + "integrity": "sha512-Zn4cw2NEqd+9fiSVWMscnjyQ1a8Yfoc5oBajLeo5w+YBHgDUcEBY2hS4YpTz6iN5f/2zQiktcuM6tS8x1p9dpA==", "dev": true, "requires": { "debug": "^4.1.0", @@ -30775,9 +30967,9 @@ "dev": true }, "app-builder-lib": { - "version": "22.14.5", - "resolved": "https://registry.npmjs.org/app-builder-lib/-/app-builder-lib-22.14.5.tgz", - "integrity": "sha512-k3VwKP4kpsnUaXoUkm1s4zaSHPHIMFnN4kPMU9yXaKmE1LfHHqBaEah5bXeTAX5V/BC41wFdg8CF5vOjvgy8Rg==", + "version": "22.14.13", + "resolved": "https://registry.npmjs.org/app-builder-lib/-/app-builder-lib-22.14.13.tgz", + "integrity": "sha512-SufmrtxU+D0Tn948fjEwAOlCN9757UXLkzzTWXMwZKR/5hisvgqeeBepWfphMIE6OkDGz0fbzEhL1P2Pty4XMg==", "dev": true, "requires": { "@develar/schema-utils": "~2.6.5", @@ -30786,13 +30978,13 @@ "7zip-bin": "~5.1.1", "async-exit-hook": "^2.0.1", "bluebird-lst": "^1.0.9", - "builder-util": "22.14.5", - "builder-util-runtime": "8.9.1", + "builder-util": "22.14.13", + "builder-util-runtime": "8.9.2", "chromium-pickle-js": "^0.2.0", "debug": "^4.3.2", "ejs": "^3.1.6", "electron-osx-sign": "^0.5.0", - "electron-publish": "22.14.5", + "electron-publish": "22.14.13", "form-data": "^4.0.0", "fs-extra": "^10.0.0", "hosted-git-info": "^4.0.2", @@ -30813,16 +31005,6 @@ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", "dev": true }, - "builder-util-runtime": { - "version": "8.9.1", - "resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-8.9.1.tgz", - "integrity": "sha512-c8a8J3wK6BIVLW7ls+7TRK9igspTbzWmUqxFbgK0m40Ggm6efUbxtWVCGIjc+dtchyr5qAMAUL6iEGRdS/6vwg==", - "dev": true, - "requires": { - "debug": "^4.3.2", - "sax": "^1.2.4" - } - }, "fs-extra": { "version": "10.0.1", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.1.tgz", @@ -31723,9 +31905,9 @@ "dev": true }, "builder-util": { - "version": "22.14.5", - "resolved": "https://registry.npmjs.org/builder-util/-/builder-util-22.14.5.tgz", - "integrity": "sha512-zqIHDFJwmA7jV7SC9aI+33MWwT2mWoijH+Ol9IntNAwuuRXoS+7XeJwnhLBXOhcDBzXT4kDzHnRk4JKeaygEYA==", + "version": "22.14.13", + "resolved": "https://registry.npmjs.org/builder-util/-/builder-util-22.14.13.tgz", + "integrity": "sha512-oePC/qrrUuerhmH5iaCJzPRAKlSBylrhzuAJmRQClTyWnZUv6jbaHh+VoHMbEiE661wrj2S2aV7/bQh12cj1OA==", "dev": true, "requires": { "@types/debug": "^4.1.6", @@ -31733,11 +31915,13 @@ "7zip-bin": "~5.1.1", "app-builder-bin": "3.7.1", "bluebird-lst": "^1.0.9", - "builder-util-runtime": "8.9.1", + "builder-util-runtime": "8.9.2", "chalk": "^4.1.1", "cross-spawn": "^7.0.3", "debug": "^4.3.2", "fs-extra": "^10.0.0", + "http-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.0", "is-ci": "^3.0.0", "js-yaml": "^4.1.0", "source-map-support": "^0.5.19", @@ -31760,16 +31944,6 @@ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", "dev": true }, - "builder-util-runtime": { - "version": "8.9.1", - "resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-8.9.1.tgz", - "integrity": "sha512-c8a8J3wK6BIVLW7ls+7TRK9igspTbzWmUqxFbgK0m40Ggm6efUbxtWVCGIjc+dtchyr5qAMAUL6iEGRdS/6vwg==", - "dev": true, - "requires": { - "debug": "^4.3.2", - "sax": "^1.2.4" - } - }, "chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -33425,14 +33599,14 @@ } }, "dmg-builder": { - "version": "22.14.5", - "resolved": "https://registry.npmjs.org/dmg-builder/-/dmg-builder-22.14.5.tgz", - "integrity": "sha512-1GvFGQE332bvPamcMwZDqWqfWfJTyyDLOsHMcGi0zs+Jh7JOn6/zuBkHJIWHdsj2QJbhzLVyd2/ZqttOKv7I8w==", + "version": "22.14.13", + "resolved": "https://registry.npmjs.org/dmg-builder/-/dmg-builder-22.14.13.tgz", + "integrity": "sha512-xNOugB6AbIRETeU2uID15sUfjdZZcKdxK8xkFnwIggsM00PJ12JxpLNPTjcRoUnfwj3WrPjilrO64vRMwNItQg==", "dev": true, "requires": { - "app-builder-lib": "22.14.5", - "builder-util": "22.14.5", - "builder-util-runtime": "8.9.1", + "app-builder-lib": "22.14.13", + "builder-util": "22.14.13", + "builder-util-runtime": "8.9.2", "dmg-license": "^1.0.9", "fs-extra": "^10.0.0", "iconv-lite": "^0.6.2", @@ -33445,16 +33619,6 @@ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", "dev": true }, - "builder-util-runtime": { - "version": "8.9.1", - "resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-8.9.1.tgz", - "integrity": "sha512-c8a8J3wK6BIVLW7ls+7TRK9igspTbzWmUqxFbgK0m40Ggm6efUbxtWVCGIjc+dtchyr5qAMAUL6iEGRdS/6vwg==", - "dev": true, - "requires": { - "debug": "^4.3.2", - "sax": "^1.2.4" - } - }, "fs-extra": { "version": "10.0.1", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.1.tgz", @@ -33721,9 +33885,9 @@ } }, "electron": { - "version": "17.1.0", - "resolved": "https://registry.npmjs.org/electron/-/electron-17.1.0.tgz", - "integrity": "sha512-X/qdldmQ8lA15NmeraubWCTtMeTO8K9Ser0wtSCgOXVh53Sr1Ea0VQQ7Q9LuGgWRVz4qtr40cntuEdM8icdmTw==", + "version": "17.1.2", + "resolved": "https://registry.npmjs.org/electron/-/electron-17.1.2.tgz", + "integrity": "sha512-hqKQaUIRWX5Y2eAD8FZINWD/e5TKdpkbBYbkcZmJS4Bd1PKQsaDVc9h5xoA8zZQkPymE9rss+swjRpAFurOPGQ==", "dev": true, "requires": { "@electron/get": "^1.13.0", @@ -33740,17 +33904,17 @@ } }, "electron-builder": { - "version": "22.14.5", - "resolved": "https://registry.npmjs.org/electron-builder/-/electron-builder-22.14.5.tgz", - "integrity": "sha512-N73hSbXFz6Mz5Z6h6C5ly6CB+dUN6k1LuCDJjI8VF47bMXv/QE0HE+Kkb0GPKqTqM7Hsk/yIYX+kHCfSkR5FGg==", + "version": "22.14.13", + "resolved": "https://registry.npmjs.org/electron-builder/-/electron-builder-22.14.13.tgz", + "integrity": "sha512-3fgLxqF2TXVKiUPeg74O4V3l0l3j7ERLazo8sUbRkApw0+4iVAf2BJkHsHMaXiigsgCoEzK/F4/rB5rne/VAnw==", "dev": true, "requires": { "@types/yargs": "^17.0.1", - "app-builder-lib": "22.14.5", - "builder-util": "22.14.5", - "builder-util-runtime": "8.9.1", + "app-builder-lib": "22.14.13", + "builder-util": "22.14.13", + "builder-util-runtime": "8.9.2", "chalk": "^4.1.1", - "dmg-builder": "22.14.5", + "dmg-builder": "22.14.13", "fs-extra": "^10.0.0", "is-ci": "^3.0.0", "lazy-val": "^1.0.5", @@ -33768,16 +33932,6 @@ "color-convert": "^2.0.1" } }, - "builder-util-runtime": { - "version": "8.9.1", - "resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-8.9.1.tgz", - "integrity": "sha512-c8a8J3wK6BIVLW7ls+7TRK9igspTbzWmUqxFbgK0m40Ggm6efUbxtWVCGIjc+dtchyr5qAMAUL6iEGRdS/6vwg==", - "dev": true, - "requires": { - "debug": "^4.3.2", - "sax": "^1.2.4" - } - }, "chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -33920,14 +34074,14 @@ } }, "electron-publish": { - "version": "22.14.5", - "resolved": "https://registry.npmjs.org/electron-publish/-/electron-publish-22.14.5.tgz", - "integrity": "sha512-h+NANRdaA0PqGF15GKvorseWPzh1PXa/zx4I37//PIokW8eKIov8ky23foUSb55ZFWUHGpxQJux7y2NCfBtQeg==", + "version": "22.14.13", + "resolved": "https://registry.npmjs.org/electron-publish/-/electron-publish-22.14.13.tgz", + "integrity": "sha512-0oP3QiNj3e8ewOaEpEJV/o6Zrmy2VarVvZ/bH7kyO/S/aJf9x8vQsKVWpsdmSiZ5DJEHgarFIXrnO0ZQf0P9iQ==", "dev": true, "requires": { "@types/fs-extra": "^9.0.11", - "builder-util": "22.14.5", - "builder-util-runtime": "8.9.1", + "builder-util": "22.14.13", + "builder-util-runtime": "8.9.2", "chalk": "^4.1.1", "fs-extra": "^10.0.0", "lazy-val": "^1.0.5", @@ -33943,16 +34097,6 @@ "color-convert": "^2.0.1" } }, - "builder-util-runtime": { - "version": "8.9.1", - "resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-8.9.1.tgz", - "integrity": "sha512-c8a8J3wK6BIVLW7ls+7TRK9igspTbzWmUqxFbgK0m40Ggm6efUbxtWVCGIjc+dtchyr5qAMAUL6iEGRdS/6vwg==", - "dev": true, - "requires": { - "debug": "^4.3.2", - "sax": "^1.2.4" - } - }, "chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -34487,12 +34631,12 @@ "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" }, "eslint": { - "version": "8.9.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.9.0.tgz", - "integrity": "sha512-PB09IGwv4F4b0/atrbcMFboF/giawbBLVC7fyDamk5Wtey4Jh2K+rYaBhCAbUyEI4QzB1ly09Uglc9iCtFaG2Q==", + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.10.0.tgz", + "integrity": "sha512-tcI1D9lfVec+R4LE1mNDnzoJ/f71Kl/9Cv4nG47jOueCMBrCCKYXr4AUVS7go6mWYGFD4+EoN6+eXSrEbRzXVw==", "dev": true, "requires": { - "@eslint/eslintrc": "^1.1.0", + "@eslint/eslintrc": "^1.2.0", "@humanwhocodes/config-array": "^0.9.2", "ajv": "^6.10.0", "chalk": "^4.0.0", @@ -34660,9 +34804,9 @@ } }, "eslint-config-prettier": { - "version": "8.4.0", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.4.0.tgz", - "integrity": "sha512-CFotdUcMY18nGRo5KGsnNxpznzhkopOcOo0InID+sgQssPrzjvsyKZPvOgymTFeHrFuC3Tzdf2YndhXtULK9Iw==", + "version": "8.5.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.5.0.tgz", + "integrity": "sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q==", "dev": true, "requires": {} }, @@ -34799,9 +34943,9 @@ } }, "eslint-plugin-jsdoc": { - "version": "37.9.4", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-37.9.4.tgz", - "integrity": "sha512-VxCyGgUNNnj2T4bb1OqltkbsPp3ehRzR5onIfh6zGrAvISmvgX/sbxUlh3YyGqWtjOTSBCURdKdmelSXEIHnlA==", + "version": "38.0.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-38.0.0.tgz", + "integrity": "sha512-4ZWTq9Jjpr+aezCn/gjRq45C3wFpY16S+umce8q/s2kMmD6oJ/8u8jhPFGoOHUnkZzFNDzYiIUxF9+OmoayLbA==", "dev": true, "requires": { "@es-joy/jsdoccomment": "~0.20.1", @@ -37041,9 +37185,9 @@ } }, "http-parser-js": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.5.tgz", - "integrity": "sha512-x+JVEkO2PoM8qqpbPbOL3cqHPwerep7OwzK7Ay+sMQjKzaKCqWvjoXm5tqMP9tXWWTnTzAjIhXg+J99XYuPhPA==", + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.6.tgz", + "integrity": "sha512-vDlkRPDJn93swjcjqMSaGSPABbIarsr1TLAui/gLDXzV5VsJNdXNzMYDyNBLQkjWQCJ1uizu8T2oDMhmGt0PRA==", "dev": true }, "http-proxy": { @@ -37058,12 +37202,12 @@ } }, "http-proxy-agent": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", - "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", + "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", "dev": true, "requires": { - "@tootallnate/once": "1", + "@tootallnate/once": "2", "agent-base": "6", "debug": "4" } @@ -39107,6 +39251,7 @@ "version": "0.25.7", "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz", "integrity": "sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==", + "dev": true, "requires": { "sourcemap-codec": "^1.4.4" } @@ -39135,27 +39280,47 @@ "dev": true }, "make-fetch-happen": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz", - "integrity": "sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg==", + "version": "10.0.5", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-10.0.5.tgz", + "integrity": "sha512-0JQ0daMRDFEv14DelmcFlprdhSDNG7WEgInTjBeWYWZ78W0jfDqygZdPLhcrQ4s/G8skNhBrS4fiF6xA+YlFjQ==", "dev": true, "requires": { - "agentkeepalive": "^4.1.3", - "cacache": "^15.2.0", + "agentkeepalive": "^4.2.1", + "cacache": "^15.3.0", "http-cache-semantics": "^4.1.0", - "http-proxy-agent": "^4.0.1", + "http-proxy-agent": "^5.0.0", "https-proxy-agent": "^5.0.0", "is-lambda": "^1.0.1", - "lru-cache": "^6.0.0", - "minipass": "^3.1.3", + "lru-cache": "^7.4.1", + "minipass": "^3.1.6", "minipass-collect": "^1.0.2", - "minipass-fetch": "^1.3.2", + "minipass-fetch": "^2.0.2", "minipass-flush": "^1.0.5", "minipass-pipeline": "^1.2.4", - "negotiator": "^0.6.2", + "negotiator": "^0.6.3", "promise-retry": "^2.0.1", - "socks-proxy-agent": "^6.0.0", - "ssri": "^8.0.0" + "socks-proxy-agent": "^6.1.1", + "ssri": "^8.0.1" + }, + "dependencies": { + "lru-cache": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.4.4.tgz", + "integrity": "sha512-2XbUJmlpIbmc9JvNNmtLzHlF31srxoDxuiQiwBHic7RZyHyltbTdzoO6maRqpdEhOOG5GD80EXvzAU0wR15ccg==", + "dev": true + }, + "minipass-fetch": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-2.0.3.tgz", + "integrity": "sha512-VA+eiiUtaIvpQJXISwE3OiMvQwAWrgKb97F0aXlCS1Ahikr8fEQq8m3Hf7Kv9KT3nokuHigJKsDMB6atU04olQ==", + "dev": true, + "requires": { + "encoding": "^0.1.13", + "minipass": "^3.1.6", + "minipass-sized": "^1.0.3", + "minizlib": "^2.1.2" + } + } } }, "make-iterator": { @@ -39938,9 +40103,9 @@ "dev": true }, "ng-gallery": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/ng-gallery/-/ng-gallery-6.0.0.tgz", - "integrity": "sha512-cfufJykYyj4rHRr2UcSIWLBoly7qxuwc/Vuu+TCV+hw8sK3pvq2D/J9Ga7wkFWVE+stELasdcZclfaQ3dqgD/Q==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ng-gallery/-/ng-gallery-6.0.1.tgz", + "integrity": "sha512-p5ECc28nGTZgq+raIuWpcNYLtcLJIOfjGFzu6MG+3IHevDktNzFbODHGBwIlQ50K4+gfA4DrBUUL8oAz1eca+Q==", "requires": { "tslib": "^2.0.0" } @@ -40008,9 +40173,9 @@ "dev": true }, "node-fetch": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.2.0.tgz", - "integrity": "sha512-8xeimMwMItMw8hRrOl3C9/xzU49HV/yE6ORew/l+dxWimO5A4Ra8ld2rerlJvc/O7et5Z1zrWsPX43v1QBjCxw==", + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.2.2.tgz", + "integrity": "sha512-Cwhq1JFIoon15wcIkFzubVNFE5GvXGV82pKf4knXXjvGmn7RJKcypeuqcVNZMGDZsAFWyIRya/anwAJr7TWJ7w==", "dev": true, "requires": { "data-uri-to-buffer": "^4.0.0", @@ -40019,20 +40184,20 @@ } }, "node-forge": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz", - "integrity": "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==" + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.2.1.tgz", + "integrity": "sha512-Fcvtbb+zBcZXbTTVwqGA5W+MKBj56UjVRevvchv5XrcyXbmNdesfZL37nlcWOfpgHhgmxApw3tQbTr4CqNmX4w==" }, "node-gyp": { - "version": "8.4.1", - "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-8.4.1.tgz", - "integrity": "sha512-olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w==", + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-9.0.0.tgz", + "integrity": "sha512-Ma6p4s+XCTPxCuAMrOA/IJRmVy16R8Sdhtwl4PrCr7IBlj4cPawF0vg/l7nOT1jPbuNS7lIRJpBSvVsXwEZuzw==", "dev": true, "requires": { "env-paths": "^2.2.0", "glob": "^7.1.4", "graceful-fs": "^4.2.6", - "make-fetch-happen": "^9.1.0", + "make-fetch-happen": "^10.0.3", "nopt": "^5.0.0", "npmlog": "^6.0.0", "rimraf": "^3.0.2", @@ -40179,55 +40344,6 @@ "minipass-json-stream": "^1.0.1", "minizlib": "^2.1.2", "npm-package-arg": "^8.1.5" - }, - "dependencies": { - "@tootallnate/once": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", - "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", - "dev": true - }, - "http-proxy-agent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", - "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", - "dev": true, - "requires": { - "@tootallnate/once": "2", - "agent-base": "6", - "debug": "4" - } - }, - "lru-cache": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.3.1.tgz", - "integrity": "sha512-nX1x4qUrKqwbIAhv4s9et4FIUVzNOpeY07bsjGUy8gwJrXH/wScImSQqXErmo/b2jZY2r0mohbLA9zVj7u1cNw==", - "dev": true - }, - "make-fetch-happen": { - "version": "10.0.3", - "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-10.0.3.tgz", - "integrity": "sha512-CzarPHynPpHjhF5in/YapnO44rSZeYX5VCMfdXa99+gLwpbfFLh20CWa6dP/taV9Net9PWJwXNKtp/4ZTCQnag==", - "dev": true, - "requires": { - "agentkeepalive": "^4.2.0", - "cacache": "^15.3.0", - "http-cache-semantics": "^4.1.0", - "http-proxy-agent": "^5.0.0", - "https-proxy-agent": "^5.0.0", - "is-lambda": "^1.0.1", - "lru-cache": "^7.3.1", - "minipass": "^3.1.6", - "minipass-collect": "^1.0.2", - "minipass-fetch": "^1.4.1", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "negotiator": "^0.6.3", - "promise-retry": "^2.0.1", - "socks-proxy-agent": "^6.1.1", - "ssri": "^8.0.1" - } - } } }, "npm-run-all": { @@ -44021,14 +44137,6 @@ "dev": true, "requires": { "node-forge": "^1.2.0" - }, - "dependencies": { - "node-forge": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.2.1.tgz", - "integrity": "sha512-Fcvtbb+zBcZXbTTVwqGA5W+MKBj56UjVRevvchv5XrcyXbmNdesfZL37nlcWOfpgHhgmxApw3tQbTr4CqNmX4w==", - "dev": true - } } }, "semver": { @@ -44373,9 +44481,9 @@ } }, "slug": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/slug/-/slug-5.2.0.tgz", - "integrity": "sha512-jMCvtl7B2iF+2YUNeSo88iVy+wSGX2Jlfj6Hi7RvaQNTPiqJ8BYJAB6XaurEQiiVGN3gIj6u6IZvaG4Ang5brw==" + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/slug/-/slug-5.3.0.tgz", + "integrity": "sha512-h7yD2UDVyMcQRv/WLSjq7HDH6ToO/22MB381zfx6/ebtdWUlGcyxpJNVHl6WFvKjIMHf5ZxANFp/srsy4mfT/w==" }, "smart-buffer": { "version": "4.2.0", @@ -45289,11 +45397,12 @@ } }, "terser": { - "version": "5.10.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.10.0.tgz", - "integrity": "sha512-AMmF99DMfEDiRJfxfY5jj5wNH/bYO09cniSqhfoyxc8sFoYIgkJy86G04UoZU5VjlpnplVu0K6Tx6E9b5+DlHA==", + "version": "5.11.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.11.0.tgz", + "integrity": "sha512-uCA9DLanzzWSsN1UirKwylhhRz3aKPInlfmpGfw8VN6jHsAtu8HJtIpeeHHK23rxnE/cDc+yvmq5wqkIC6Kn0A==", "dev": true, "requires": { + "acorn": "^8.5.0", "commander": "^2.20.0", "source-map": "~0.7.2", "source-map-support": "~0.5.20" @@ -47072,13 +47181,13 @@ "dev": true }, "win-ca": { - "version": "3.4.5", - "resolved": "https://registry.npmjs.org/win-ca/-/win-ca-3.4.5.tgz", - "integrity": "sha512-2xTLq3jah7Sg8Pt8me2rbTnDMxulrX6gSfU9lscyqjyE4gj34sd9w6LK0v8aNHzow+s0WEX1vve58EixZbXiLg==", + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/win-ca/-/win-ca-3.5.0.tgz", + "integrity": "sha512-0TgO/+2iz2pS3OxBy2ikovPHOYyZRdLRxRTT9ze7DpZwEpaahLFOBuac93GM3lYEVzDyf8fXskJjIX/EILvkhQ==", "requires": { "is-electron": "^2.2.0", "make-dir": "^1.3.0", - "node-forge": "^0.10.0", + "node-forge": "^1.2.1", "split": "^1.0.1" }, "dependencies": { diff --git a/wowup-electron/package.json b/wowup-electron/package.json index f7051fc9..08bcf996 100644 --- a/wowup-electron/package.json +++ b/wowup-electron/package.json @@ -37,7 +37,7 @@ "electron:publish": "npm run lint && npm run build:prod && electron-builder build --publish always", "electron:publish:linux": "docker-compose -f linux-compose.yml up", "electron:publish:never": "npm run electron:build && electron-builder --publish never", - "electron:publish:never:local": "npx electron-builder -c electron-builder-local.json --publish never ", + "electron:publish:never:local": "npm run build:dev && npx electron-builder -c electron-builder-local.json --publish never ", "test": "ng test --watch=false", "test:watch": "ng test", "test:locales": "ng test --watch=false --include='src/locales.spec.ts'", @@ -55,13 +55,13 @@ }, "devDependencies": { "@angular-builders/custom-webpack": "13.1.0", - "@angular-devkit/build-angular": "13.2.4", + "@angular-devkit/build-angular": "13.2.6", "@angular-eslint/builder": "13.1.0", "@angular-eslint/eslint-plugin": "13.1.0", "@angular-eslint/eslint-plugin-template": "13.1.0", "@angular-eslint/schematics": "13.1.0", "@angular-eslint/template-parser": "13.1.0", - "@angular/cli": "13.2.4", + "@angular/cli": "13.2.6", "@ngx-translate/core": "14.0.0", "@ngx-translate/http-loader": "7.0.0", "@types/adm-zip": "0.4.34", @@ -70,7 +70,7 @@ "@types/globrex": "0.1.1", "@types/jasmine": "3.10.3", "@types/jasminewd2": "2.0.10", - "@types/lodash": "4.14.178", + "@types/lodash": "4.14.179", "@types/markdown-it": "12.2.3", "@types/mocha": "9.1.0", "@types/node": "16.11.10", @@ -79,22 +79,22 @@ "@types/slug": "5.0.3", "@types/string-similarity": "4.0.0", "@types/uuid": "8.3.4", - "@typescript-eslint/eslint-plugin": "5.12.1", - "@typescript-eslint/eslint-plugin-tslint": "5.12.1", - "@typescript-eslint/parser": "5.12.1", + "@typescript-eslint/eslint-plugin": "5.14.0", + "@typescript-eslint/eslint-plugin-tslint": "5.14.0", + "@typescript-eslint/parser": "5.14.0", "chai": "4.3.6", "core-js": "3.21.1", "cross-env": "7.0.3", "del": "6.0.0", "dotenv": "16.0.0", - "electron": "17.1.0", - "electron-builder": "22.14.5", + "electron": "17.1.2", + "electron-builder": "22.14.13", "electron-notarize": "1.1.1", "electron-reload": "2.0.0-alpha.1", - "eslint": "8.9.0", - "eslint-config-prettier": "8.4.0", + "eslint": "8.10.0", + "eslint-config-prettier": "8.5.0", "eslint-plugin-import": "2.25.4", - "eslint-plugin-jsdoc": "37.9.4", + "eslint-plugin-jsdoc": "38.0.0", "eslint-plugin-prefer-arrow": "1.2.3", "flat": "5.0.2", "gulp": "4.0.2", @@ -109,8 +109,8 @@ "karma-jasmine-html-reporter": "1.7.0", "mocha": "9.2.1", "node-addon-api": "4.3.0", - "node-fetch": "3.2.0", - "node-gyp": "8.4.1", + "node-fetch": "3.2.2", + "node-gyp": "9.0.0", "npm-run-all": "4.1.5", "prettier": "2.5.1", "spectron": "19.0.0", @@ -123,17 +123,17 @@ "node": ">=14.0.0" }, "dependencies": { - "@angular/animations": "13.2.3", - "@angular/cdk": "13.2.3", - "@angular/common": "13.2.3", - "@angular/compiler": "13.2.3", - "@angular/compiler-cli": "13.2.3", - "@angular/core": "13.2.3", - "@angular/forms": "13.2.3", - "@angular/material": "13.2.3", - "@angular/platform-browser": "13.2.3", - "@angular/platform-browser-dynamic": "13.2.3", - "@angular/router": "13.2.3", + "@angular/animations": "13.2.6", + "@angular/cdk": "13.2.6", + "@angular/common": "13.2.6", + "@angular/compiler": "13.2.6", + "@angular/compiler-cli": "13.2.6", + "@angular/core": "13.2.6", + "@angular/forms": "13.2.6", + "@angular/material": "13.2.6", + "@angular/platform-browser": "13.2.6", + "@angular/platform-browser-dynamic": "13.2.6", + "@angular/router": "13.2.6", "@bbob/core": "2.8.0", "@bbob/html": "2.8.0", "@bbob/preset-html5": "2.8.0", @@ -143,7 +143,7 @@ "@fortawesome/free-brands-svg-icons": "6.0.0", "@fortawesome/free-regular-svg-icons": "6.0.0", "@fortawesome/free-solid-svg-icons": "6.0.0", - "@microsoft/applicationinsights-web": "2.7.3", + "@microsoft/applicationinsights-web": "2.7.4", "adm-zip": "0.5.9", "ag-grid-angular": "27.0.0", "ag-grid-community": "27.0.1", @@ -160,7 +160,7 @@ "messageformat": "2.3.0", "minimist": "1.2.5", "nanoid": "3.3.1", - "ng-gallery": "6.0.0", + "ng-gallery": "6.0.1", "ngx-translate-messageformat-compiler": "5.0.1", "node-cache": "5.1.2", "node-disk-info": "1.3.0", @@ -169,12 +169,12 @@ "protobufjs": "6.11.2", "pushy-electron": "1.0.8", "rxjs": "7.5.4", - "slug": "5.2.0", + "slug": "5.3.0", "string-similarity": "4.0.4", "ts-custom-error": "3.2.0", "tslib": "2.3.1", "uuid": "8.3.2", - "win-ca": "3.4.5", + "win-ca": "3.5.0", "yauzl": "2.10.0", "zone.js": "0.11.4" }, diff --git a/wowup-electron/src/app/addon-providers/curse-addon-v2-provider.ts b/wowup-electron/src/app/addon-providers/curse-addon-v2-provider.ts index cc17f688..6e0ce3e4 100644 --- a/wowup-electron/src/app/addon-providers/curse-addon-v2-provider.ts +++ b/wowup-electron/src/app/addon-providers/curse-addon-v2-provider.ts @@ -49,6 +49,7 @@ import { strictFilter } from "../utils/array.utils"; import { TocService } from "../services/toc/toc.service"; import { WarcraftService } from "../services/warcraft/warcraft.service"; import { SensitiveStorageService } from "../services/storage/sensitive-storage.service"; +import { getWowClientGroup } from "../../common/warcraft"; interface ProtocolData { addonId: number; @@ -812,7 +813,9 @@ export class CurseAddonV2Provider extends AddonProvider { } private getLatestFiles(result: CF2Addon, clientType: WowClientType): CF2File[] { - const filtered = result.latestFiles.filter((latestFile) => this.isClientType(latestFile, clientType)); + const filtered = result.latestFiles.filter( + (latestFile) => latestFile.exposeAsAlternative !== true && this.isClientType(latestFile, clientType) + ); return _.sortBy(filtered, (latestFile) => latestFile.id).reverse(); } @@ -1021,7 +1024,7 @@ export class CurseAddonV2Provider extends AddonProvider { } private getCFGameVersionType(clientType: WowClientType): CF2WowGameVersionType { - const clientGroup = this._warcraftService.getClientGroup(clientType); + const clientGroup = getWowClientGroup(clientType); switch (clientGroup) { case WowClientGroup.BurningCrusade: diff --git a/wowup-electron/src/app/addon-providers/github-addon-provider.ts b/wowup-electron/src/app/addon-providers/github-addon-provider.ts index 53fd51ff..eb57fff0 100644 --- a/wowup-electron/src/app/addon-providers/github-addon-provider.ts +++ b/wowup-electron/src/app/addon-providers/github-addon-provider.ts @@ -26,6 +26,7 @@ import { WowInstallation } from "../../common/warcraft/wow-installation"; import { convertMarkdown } from "../utils/markdown.utlils"; import { strictFilterBy } from "../utils/array.utils"; import { WarcraftService } from "../services/warcraft/warcraft.service"; +import { getWowClientGroup } from "../../common/warcraft"; type MetadataFlavor = "bcc" | "classic" | "mainline"; @@ -126,7 +127,7 @@ export class GitHubAddonProvider extends AddonProvider { searchResult: undefined, }; - const clientGroup = this._warcraftService.getClientGroup(installation.clientType); + const clientGroup = getWowClientGroup(installation.clientType); try { const results = await this.getReleases(repoPath); diff --git a/wowup-electron/src/app/addon-providers/tukui-addon-provider.ts b/wowup-electron/src/app/addon-providers/tukui-addon-provider.ts index 0405f2e4..cb89f5cd 100644 --- a/wowup-electron/src/app/addon-providers/tukui-addon-provider.ts +++ b/wowup-electron/src/app/addon-providers/tukui-addon-provider.ts @@ -174,11 +174,11 @@ export class TukUiAddonProvider extends AddonProvider { matches.push({ ...tukUiAddon }); - const installedFolders = targetToc.tukUiProjectFolders ? targetToc.tukUiProjectFolders : tukUiAddon.name; + const installedFolders = targetToc.tukUiProjectFolders ? targetToc.tukUiProjectFolders : addonFolder.name; const installedFolderList = targetToc.tukUiProjectFolders ? targetToc.tukUiProjectFolders.split(",").map((f) => f.trim()) - : [tukUiAddon.name]; + : [addonFolder.name]; addonFolder.matchingAddon = { autoUpdateEnabled: false, diff --git a/wowup-electron/src/app/addon-providers/wago-addon-provider.ts b/wowup-electron/src/app/addon-providers/wago-addon-provider.ts index 00cf55a3..11e8d14b 100644 --- a/wowup-electron/src/app/addon-providers/wago-addon-provider.ts +++ b/wowup-electron/src/app/addon-providers/wago-addon-provider.ts @@ -24,6 +24,7 @@ import { getEnumName } from "../utils/enum.utils"; import { convertMarkdown } from "../utils/markdown.utlils"; import { AddonProvider, GetAllResult } from "./addon-provider"; import { SourceRemovedAddonError } from "../errors"; +import { getWowClientGroup } from "../../common/warcraft"; declare type WagoGameVersion = "retail" | "classic" | "bc"; declare type WagoStability = "stable" | "beta" | "alpha"; @@ -643,7 +644,7 @@ export class WagoAddonProvider extends AddonProvider { // The wago name for the client type private getGameVersion(clientType: WowClientType): WagoGameVersion { - const clientGroup = this._warcraftService.getClientGroup(clientType); + const clientGroup = getWowClientGroup(clientType); switch (clientGroup) { case WowClientGroup.BurningCrusade: return "bc"; diff --git a/wowup-electron/src/app/addon-providers/wowup-addon-provider.ts b/wowup-electron/src/app/addon-providers/wowup-addon-provider.ts index 5cff6e7b..6bc31473 100644 --- a/wowup-electron/src/app/addon-providers/wowup-addon-provider.ts +++ b/wowup-electron/src/app/addon-providers/wowup-addon-provider.ts @@ -3,13 +3,17 @@ import { from, Observable } from "rxjs"; import { map } from "rxjs/operators"; import { v4 as uuidv4 } from "uuid"; -import { ADDON_PROVIDER_HUB, IPC_WOWUP_GET_SCAN_RESULTS } from "../../common/constants"; +import { ADDON_PROVIDER_HUB, APP_PROTOCOL_NAME, IPC_WOWUP_GET_SCAN_RESULTS } from "../../common/constants"; import { Addon } from "../../common/entities/addon"; -import { WowClientType } from "../../common/warcraft/wow-client-type"; +import { WowClientGroup, WowClientType } from "../../common/warcraft/wow-client-type"; import { AddonCategory, AddonChannelType, WowUpScanResult } from "../../common/wowup/models"; import { AppConfig } from "../../environments/environment"; import { SourceRemovedAddonError } from "../errors"; -import { WowUpAddonReleaseRepresentation, WowUpAddonRepresentation } from "../models/wowup-api/addon-representations"; +import { + AddonReleaseGameVersion, + WowUpAddonReleaseRepresentation, + WowUpAddonRepresentation, +} from "../models/wowup-api/addon-representations"; import { GetFeaturedAddonsResponse, WowUpGetAddonReleaseResponse, @@ -30,6 +34,12 @@ import { CircuitBreakerWrapper, NetworkService } from "../services/network/netwo import { getGameVersion } from "../utils/addon.utils"; import { getEnumName } from "../utils/enum.utils"; import { AddonProvider, GetAllBatchResult, GetAllResult } from "./addon-provider"; +import { ProtocolSearchResult } from "../models/wowup/protocol-search-result"; + +interface ProtocolData { + addonId: string; + releaseId: string; +} const API_URL = AppConfig.wowUpHubUrl; const FEATURED_ADDONS_CACHE_TTL_SEC = AppConfig.featuredAddonsCacheTimeSec; @@ -79,6 +89,55 @@ export class WowUpAddonProvider extends AddonProvider { return !addon.installedExternalReleaseId; } + public isValidProtocol(protocol: string): boolean { + return protocol.toLowerCase().startsWith(`${APP_PROTOCOL_NAME}://`); + } + + public async searchProtocol(protocol: string): Promise { + const protocolData = this.parseProtocol(protocol); + if (!protocolData.addonId || !protocolData.releaseId) { + throw new Error("Invalid protocol data"); + } + + const addonResult = await this.getAddonById(protocolData.addonId); + if (!addonResult) { + throw new Error(`Failed to get addon data: ${protocolData.addonId}`); + } + + console.debug("addonResult", addonResult); + + const addonFileResponse = await this.getReleaseById(protocolData.addonId, protocolData.releaseId); + console.debug("targetFile", addonFileResponse); + + if (!addonFileResponse) { + throw new Error("Failed to get target file"); + } + + const addonSearchResult = this.getSearchResultWithReleases(addonResult.addon, [addonFileResponse.release]); + if (!addonSearchResult) { + throw new Error("Addon search result not created"); + } + + const searchResult: ProtocolSearchResult = { + protocol, + protocolAddonId: protocolData.addonId.toString(), + protocolReleaseId: protocolData.releaseId.toString(), + validClientGroups: _.map(addonFileResponse.release.game_versions, (gv) => this.getWowClientGroup(gv.game_type)), + ...addonSearchResult, + }; + + console.debug("searchResult", searchResult); + return searchResult; + } + + private parseProtocol(protocol: string): ProtocolData { + const url = new URL(protocol); + return { + addonId: url.searchParams.get("addonId") || "", + releaseId: url.searchParams.get("releaseId") || "", + }; + } + public async getAllBatch(installations: WowInstallation[], addonIds: string[]): Promise { const batchResult: GetAllBatchResult = { errors: {}, @@ -373,6 +432,13 @@ export class WowUpAddonProvider extends AddonProvider { return undefined; } + return this.getSearchResultFileWithVersion(release, matchingVersion); + } + + private getSearchResultFileWithVersion( + release: WowUpAddonReleaseRepresentation, + matchingVersion: AddonReleaseGameVersion + ): AddonSearchResultFile | undefined { const version = matchingVersion?.version || release.tag_name || ""; return { @@ -428,6 +494,37 @@ export class WowUpAddonProvider extends AddonProvider { }; } + private getSearchResultWithReleases( + representation: WowUpAddonRepresentation, + releases: WowUpAddonReleaseRepresentation[] + ): AddonSearchResult | undefined { + const searchResultFiles: AddonSearchResultFile[] = _.flatMap(releases, (release) => + _.map(release.game_versions, (gv) => this.getSearchResultFileWithVersion(release, gv)) + ).filter((sr) => sr !== undefined); + + if (searchResultFiles.length === 0) { + return undefined; + } + + const name = _.first(searchResultFiles)?.title ?? representation.repository_name; + const authors = _.first(searchResultFiles)?.authors ?? representation.owner_name ?? ""; + + return { + author: authors, + externalId: representation.id.toString(), + externalUrl: `${AppConfig.wowUpWebsiteUrl}/addons/${representation.id}`, + name, + providerName: this.name, + thumbnailUrl: representation.image_url || representation.owner_image_url || "", + downloadCount: representation.total_download_count, + files: searchResultFiles, + releasedAt: new Date(), + summary: representation.description, + fundingLinks: [...(representation?.funding_links ?? [])], + screenshotUrls: this.getScreenshotUrls(releases), + }; + } + // Currently we only support images, so we filter for those private getScreenshotUrls(releases: WowUpAddonReleaseRepresentation[]): string[] { const urls = _.flatten( @@ -527,4 +624,15 @@ export class WowUpAddonProvider extends AddonProvider { return WowGameType.Retail; } } + + private getWowClientGroup(gameType: WowGameType): WowClientGroup { + switch (gameType) { + case WowGameType.BurningCrusade: + return WowClientGroup.BurningCrusade; + case WowGameType.Classic: + return WowClientGroup.Classic; + case WowGameType.Retail: + return WowClientGroup.Retail; + } + } } diff --git a/wowup-electron/src/app/app.component.ts b/wowup-electron/src/app/app.component.ts index 1f787ca5..576b45d4 100644 --- a/wowup-electron/src/app/app.component.ts +++ b/wowup-electron/src/app/app.component.ts @@ -58,6 +58,7 @@ import { ConsentDialogComponent, ConsentDialogResult, } from "./components/common/consent-dialog/consent-dialog.component"; +import { WowUpProtocolService } from "./services/wowup/wowup-protocol.service"; @Component({ selector: "app-root", @@ -101,6 +102,7 @@ export class AppComponent implements OnInit, OnDestroy, AfterViewInit { private _warcraftInstallationService: WarcraftInstallationService, private _wowupAddonService: WowUpAddonService, private _zoomService: ZoomService, + private _wowUpProtocolService: WowUpProtocolService, public electronService: ElectronService, public overlayContainer: OverlayContainer, public sessionService: SessionService, @@ -140,6 +142,8 @@ export class AppComponent implements OnInit, OnDestroy, AfterViewInit { }); } }); + + this._wowUpProtocolService.initialize(); } public ngOnInit(): void { diff --git a/wowup-electron/src/app/components/addons/install-from-protocol-dialog/install-from-protocol-dialog.component.ts b/wowup-electron/src/app/components/addons/install-from-protocol-dialog/install-from-protocol-dialog.component.ts index 11860840..5354c002 100644 --- a/wowup-electron/src/app/components/addons/install-from-protocol-dialog/install-from-protocol-dialog.component.ts +++ b/wowup-electron/src/app/components/addons/install-from-protocol-dialog/install-from-protocol-dialog.component.ts @@ -133,9 +133,18 @@ export class InstallFromProtocolDialogComponent implements OnInit, AfterViewInit this.addon = searchResult; - this.validWowInstallations = await this._warcraftInstallationService.getWowInstallationsByClientTypes( - searchResult.validClientTypes - ); + if (Array.isArray(searchResult.validClientGroups)) { + this.validWowInstallations = await this._warcraftInstallationService.getWowInstallationsByClientGroups( + searchResult.validClientGroups + ); + } else if (Array.isArray(searchResult.validClientTypes)) { + this.validWowInstallations = await this._warcraftInstallationService.getWowInstallationsByClientTypes( + searchResult.validClientTypes + ); + } else { + throw new Error("No valid clients found"); + } + if (this.validWowInstallations.length === 0) { this.error = ERROR_NO_VALID_WOW_INSTALLATIONS; return; diff --git a/wowup-electron/src/app/models/wowup/protocol-search-result.ts b/wowup-electron/src/app/models/wowup/protocol-search-result.ts index 1cf3b4d1..b5a9136c 100644 --- a/wowup-electron/src/app/models/wowup/protocol-search-result.ts +++ b/wowup-electron/src/app/models/wowup/protocol-search-result.ts @@ -1,9 +1,10 @@ -import { WowClientType } from "../../../common/warcraft/wow-client-type"; +import { WowClientGroup, WowClientType } from "../../../common/warcraft/wow-client-type"; import { AddonSearchResult } from "./addon-search-result"; export interface ProtocolSearchResult extends AddonSearchResult { protocol: string; protocolAddonId?: string; protocolReleaseId?: string; - validClientTypes: WowClientType[]; + validClientTypes?: WowClientType[]; + validClientGroups?: WowClientGroup[]; } diff --git a/wowup-electron/src/app/pages/home/home.component.ts b/wowup-electron/src/app/pages/home/home.component.ts index fd95f999..ea458b65 100644 --- a/wowup-electron/src/app/pages/home/home.component.ts +++ b/wowup-electron/src/app/pages/home/home.component.ts @@ -1,12 +1,11 @@ -import { from, Subscription } from "rxjs"; -import { filter, first, map, switchMap } from "rxjs/operators"; +import { from, of, Subscription } from "rxjs"; +import { catchError, filter, first, map, switchMap, tap } from "rxjs/operators"; import { AfterViewInit, ChangeDetectionStrategy, ChangeDetectorRef, Component, OnDestroy } from "@angular/core"; import { MatSnackBar } from "@angular/material/snack-bar"; import { TranslateService } from "@ngx-translate/core"; import { - APP_PROTOCOL_NAME, CURSE_PROTOCOL_NAME, IPC_POWER_MONITOR_RESUME, IPC_POWER_MONITOR_UNLOCK, @@ -31,6 +30,7 @@ import { WarcraftInstallationService } from "../../services/warcraft/warcraft-in import { WowUpService } from "../../services/wowup/wowup.service"; import { getProtocol } from "../../utils/string.utils"; import { WowInstallation } from "../../../common/warcraft/wow-installation"; +import { WowUpProtocolService } from "../../services/wowup/wowup-protocol.service"; @Component({ selector: "app-home", @@ -62,7 +62,8 @@ export class HomeComponent implements AfterViewInit, OnDestroy { private _snackBarService: SnackbarService, private _cdRef: ChangeDetectorRef, private _warcraftInstallationService: WarcraftInstallationService, - private _dialogFactory: DialogFactory + private _dialogFactory: DialogFactory, + private _wowUpProtocolService: WowUpProtocolService ) { const wowInstalledSub = this._warcraftInstallationService.wowInstallations$.subscribe((installations) => { this.hasWowClient = installations.length > 0; @@ -70,8 +71,12 @@ export class HomeComponent implements AfterViewInit, OnDestroy { const customProtocolSub = this.electronService.customProtocol$ .pipe( - filter((protocol) => !!protocol), - switchMap((protocol) => from(this.handleCustomProtocol(protocol))) + filter((protocol) => getProtocol(protocol) === CURSE_PROTOCOL_NAME), + tap((protocol) => this.handleAddonInstallProtocol(protocol)), + catchError((e) => { + console.error(e); + return of(undefined); + }) ) .subscribe(); @@ -85,25 +90,7 @@ export class HomeComponent implements AfterViewInit, OnDestroy { this._subscriptions.push(customProtocolSub, wowInstalledSub, scanErrorSub, scanUpdateSub, addonInstallErrorSub); } - private handleCustomProtocol = async (protocol: string): Promise => { - const protocolName = getProtocol(protocol); - try { - switch (protocolName) { - case APP_PROTOCOL_NAME: - break; - case CURSE_PROTOCOL_NAME: - await this.handleAddonInstallProtocol(protocol); - break; - default: - console.warn(`Unknown protocol: ${protocol}`); - return; - } - } catch (e) { - console.error(`Failed to handle protocol`, e); - } - }; - - private async handleAddonInstallProtocol(protocol: string) { + private handleAddonInstallProtocol(protocol: string) { const dialog = this._dialogFactory.getDialog(InstallFromProtocolDialogComponent, { disableClose: true, data: { @@ -111,7 +98,7 @@ export class HomeComponent implements AfterViewInit, OnDestroy { }, }); - await dialog.afterClosed().toPromise(); + return dialog.afterClosed().pipe(first()); } public ngAfterViewInit(): void { diff --git a/wowup-electron/src/app/pages/my-addons/my-addons.component.ts b/wowup-electron/src/app/pages/my-addons/my-addons.component.ts index 539f5e49..01efdecc 100644 --- a/wowup-electron/src/app/pages/my-addons/my-addons.component.ts +++ b/wowup-electron/src/app/pages/my-addons/my-addons.component.ts @@ -108,7 +108,10 @@ export class MyAddonsComponent implements OnInit, OnDestroy, AfterViewInit { map((wowInstall) => wowInstall !== undefined) ); - public readonly isBusy$ = this._isBusySrc.asObservable(); + public readonly isBusy$ = combineLatest([this._isBusySrc, this._addonService.syncing$]).pipe( + map((vals) => _.some(vals)) + ); + public readonly filterInput$ = this._filterInputSrc.asObservable(); public readonly rowData$ = combineLatest([this._baseRowDataSrc, this.filterInput$]).pipe( diff --git a/wowup-electron/src/app/services/addons/addon-broker.service.ts b/wowup-electron/src/app/services/addons/addon-broker.service.ts index 2fab5ece..42463a5d 100644 --- a/wowup-electron/src/app/services/addons/addon-broker.service.ts +++ b/wowup-electron/src/app/services/addons/addon-broker.service.ts @@ -5,6 +5,7 @@ import { nanoid } from "nanoid"; import { Addon } from "../../../common/entities/addon"; import { WowClientType } from "../../../common/warcraft/wow-client-type"; +import { getWowClientGroup } from "../../../common/warcraft"; import { WowInstallation } from "../../../common/warcraft/wow-installation"; import { getEnumName } from "../../utils/enum.utils"; import { AddonStorageService } from "../storage/addon-storage.service"; @@ -232,8 +233,8 @@ export class AddonBrokerService { } private isSameClient(srcClient: WowClientType, targetClient: string) { - const srcGroup = this._warcraftService.getClientGroup(srcClient); - const targetGroup = this._warcraftService.getClientGroup(targetClient); + const srcGroup = getWowClientGroup(srcClient); + const targetGroup = getWowClientGroup(targetClient); return srcGroup === targetGroup; } diff --git a/wowup-electron/src/app/services/addons/addon.service.ts b/wowup-electron/src/app/services/addons/addon.service.ts index d878311a..e8d890c9 100644 --- a/wowup-electron/src/app/services/addons/addon.service.ts +++ b/wowup-electron/src/app/services/addons/addon.service.ts @@ -118,6 +118,7 @@ export class AddonService { private readonly _installQueue = new Subject(); private readonly _anyUpdatesAvailableSrc = new BehaviorSubject(false); private readonly _addonProviderChangeSrc = new Subject(); + private readonly _syncingSrc = new BehaviorSubject(false); private _activeInstalls: AddonUpdateEvent[] = []; private _subscriptions: Subscription[] = []; @@ -132,6 +133,7 @@ export class AddonService { public readonly searchError$ = this._searchErrorSrc.asObservable(); public readonly anyUpdatesAvailable$ = this._anyUpdatesAvailableSrc.asObservable(); public readonly addonProviderChange$ = this._addonProviderChangeSrc.asObservable(); + public readonly syncing$ = this._syncingSrc.asObservable(); public constructor( private _addonStorage: AddonStorageService, @@ -1114,6 +1116,8 @@ export class AddonService { /** Iterate over all the installed WoW clients and attempt to check for addon updates */ public async syncAllClients(): Promise { console.debug("syncAllClients"); + this._syncingSrc.next(true); + const installations = await this._warcraftInstallationService.getWowInstallationsAsync(); try { @@ -1122,6 +1126,7 @@ export class AddonService { } catch (e) { console.error(e); } finally { + this._syncingSrc.next(false); this._addonActionSrc.next({ type: "sync" }); } } diff --git a/wowup-electron/src/app/services/electron/electron.service.ts b/wowup-electron/src/app/services/electron/electron.service.ts index e47a0690..4fb9ccb7 100644 --- a/wowup-electron/src/app/services/electron/electron.service.ts +++ b/wowup-electron/src/app/services/electron/electron.service.ts @@ -133,7 +133,6 @@ export class ElectronService { }); this.onRendererEvent(IPC_CUSTOM_PROTOCOL_RECEIVED, (evt, protocol: string) => { - console.debug(IPC_CUSTOM_PROTOCOL_RECEIVED, protocol); this._customProtocolSrc.next(protocol); }); diff --git a/wowup-electron/src/app/services/session/session.service.ts b/wowup-electron/src/app/services/session/session.service.ts index 4c82108d..a411bcb1 100644 --- a/wowup-electron/src/app/services/session/session.service.ts +++ b/wowup-electron/src/app/services/session/session.service.ts @@ -1,5 +1,5 @@ import * as _ from "lodash"; -import { BehaviorSubject, from, Subject } from "rxjs"; +import { BehaviorSubject, combineLatest, from, Subject } from "rxjs"; import { Injectable } from "@angular/core"; @@ -49,7 +49,9 @@ export class SessionService { public readonly wowUpAccountPushEnabled$ = this._wowUpAccountService.accountPushSrc.asObservable(); public readonly myAddonsCompactVersion$ = this._myAddonsCompactVersionSrc.asObservable(); public readonly adSpace$ = this._adSpaceSrc.asObservable(); // TODO this should be driven by the enabled providers - public readonly enableControls$ = this._enableControlsSrc.asObservable(); + public readonly enableControls$ = combineLatest([this._enableControlsSrc, this._addonService.syncing$]).pipe( + map(([enable, syncing]) => enable && !syncing) + ); public readonly debugAdFrame$ = new Subject(); public readonly currentTheme$ = this._currentThemeSrc.asObservable(); diff --git a/wowup-electron/src/app/services/warcraft/warcraft-installation.service.ts b/wowup-electron/src/app/services/warcraft/warcraft-installation.service.ts index c02a7fd4..8ed7a5b3 100644 --- a/wowup-electron/src/app/services/warcraft/warcraft-installation.service.ts +++ b/wowup-electron/src/app/services/warcraft/warcraft-installation.service.ts @@ -12,7 +12,7 @@ import { DEFAULT_CHANNEL_PREFERENCE_KEY_SUFFIX, WOW_INSTALLATIONS_KEY, } from "../../../common/constants"; -import { WowClientType } from "../../../common/warcraft/wow-client-type"; +import { WowClientGroup, WowClientType } from "../../../common/warcraft/wow-client-type"; import { AddonChannelType } from "../../../common/wowup/models"; import { WowInstallation } from "../../../common/warcraft/wow-installation"; import { getEnumName } from "../../utils/enum.utils"; @@ -20,6 +20,7 @@ import { ElectronService } from "../electron/electron.service"; import { FileService } from "../files/file.service"; import { PreferenceStorageService } from "../storage/preference-storage.service"; import { WarcraftService } from "./warcraft.service"; +import { getWowClientFolderName, getWowClientGroup } from "../../../common/warcraft"; @Injectable({ providedIn: "root", @@ -108,6 +109,14 @@ export class WarcraftInstallationService { return _.filter(installations, (installation) => clientTypes.includes(installation.clientType)); } + public async getWowInstallationsByClientGroups(clientGroups: WowClientGroup[]): Promise { + const installations = await this.getWowInstallationsAsync(); + return _.filter(installations, (installation) => { + const clientGroup = getWowClientGroup(installation.clientType); + return clientGroups.includes(clientGroup); + }); + } + public async setWowInstallations(wowInstallations: WowInstallation[]): Promise { console.log(`Setting wow installations: ${wowInstallations.length}`); await this._preferenceStorageService.setAsync(WOW_INSTALLATIONS_KEY, wowInstallations); @@ -343,7 +352,7 @@ export class WarcraftInstallationService { } private getFullProductPath(location: string, clientType: WowClientType): string { - const clientFolderName = this._warcraftService.getClientFolderName(clientType); + const clientFolderName = getWowClientFolderName(clientType); const executableName = this._warcraftService.getExecutableName(clientType); return path.join(location, clientFolderName, executableName); } diff --git a/wowup-electron/src/app/services/warcraft/warcraft.service.ts b/wowup-electron/src/app/services/warcraft/warcraft.service.ts index 595da596..84796d0e 100644 --- a/wowup-electron/src/app/services/warcraft/warcraft.service.ts +++ b/wowup-electron/src/app/services/warcraft/warcraft.service.ts @@ -6,7 +6,7 @@ import { Injectable } from "@angular/core"; import { ElectronService } from "../electron/electron.service"; import * as constants from "../../../common/constants"; -import { WowClientGroup, WowClientType } from "../../../common/warcraft/wow-client-type"; +import { WowClientType } from "../../../common/warcraft/wow-client-type"; import { InstalledProduct } from "../../models/warcraft/installed-product"; import { AddonFolder } from "../../models/wowup/addon-folder"; import { SelectItem } from "../../models/wowup/select-item"; @@ -193,48 +193,6 @@ export class WarcraftService { return this._impl.getClientType(binaryPath); } - public getClientFolderName(clientType: WowClientType): string { - switch (clientType) { - case WowClientType.Retail: - return constants.WOW_RETAIL_FOLDER; - case WowClientType.ClassicEra: - return constants.WOW_CLASSIC_ERA_FOLDER; - case WowClientType.Classic: - return constants.WOW_CLASSIC_FOLDER; - case WowClientType.RetailPtr: - return constants.WOW_RETAIL_PTR_FOLDER; - case WowClientType.ClassicPtr: - return constants.WOW_CLASSIC_PTR_FOLDER; - case WowClientType.Beta: - return constants.WOW_BETA_FOLDER; - case WowClientType.ClassicBeta: - return constants.WOW_CLASSIC_BETA_FOLDER; - case WowClientType.ClassicEraPtr: - return constants.WOW_CLASSIC_ERA_PTR_FOLDER; - default: - return ""; - } - } - - public getClientGroup(clientType: string | WowClientType): WowClientGroup { - const enumVal: WowClientType = typeof clientType === "string" ? WowClientType[clientType] : clientType; - switch (enumVal) { - case WowClientType.Beta: - case WowClientType.Retail: - case WowClientType.RetailPtr: - return WowClientGroup.Retail; - case WowClientType.ClassicEra: - case WowClientType.ClassicEraPtr: - return WowClientGroup.Classic; - case WowClientType.Classic: - case WowClientType.ClassicBeta: - case WowClientType.ClassicPtr: - return WowClientGroup.BurningCrusade; - default: - throw new Error(`unsupported client type: ${clientType}`); - } - } - /** * Get the old style preference key for a WoW client type * @deprecated diff --git a/wowup-electron/src/app/services/wowup/wowup-protocol.service.ts b/wowup-electron/src/app/services/wowup/wowup-protocol.service.ts new file mode 100644 index 00000000..49487777 --- /dev/null +++ b/wowup-electron/src/app/services/wowup/wowup-protocol.service.ts @@ -0,0 +1,45 @@ +import { Injectable } from "@angular/core"; +import { catchError, filter, first, of, switchMap, tap } from "rxjs"; +import { APP_PROTOCOL_NAME } from "../../../common/constants"; +import { InstallFromProtocolDialogComponent } from "../../components/addons/install-from-protocol-dialog/install-from-protocol-dialog.component"; +import { getProtocol, getProtocolParts } from "../../utils/string.utils"; +import { DialogFactory } from "../dialog/dialog.factory"; +import { ElectronService } from "../electron/electron.service"; + +@Injectable({ + providedIn: "root", +}) +export class WowUpProtocolService { + public constructor(private _dialogFactory: DialogFactory, private _electronService: ElectronService) {} + + public initialize() { + this._electronService.customProtocol$ + .pipe( + tap((prt) => console.log("WowUpProtocolService", prt)), + filter((prt) => getProtocol(prt) === APP_PROTOCOL_NAME && this.isInstallAction(prt)), + switchMap((prt) => this.onInstallProtocol(prt)), + catchError((e) => { + console.error(e); + return of(undefined); + }) + ) + .subscribe(); + } + + public isInstallAction(protocol: string) { + return getProtocolParts(protocol)[0] === "install"; + } + + public onInstallProtocol(protocol: string) { + console.log("onInstallProtocol", protocol); + + const dialog = this._dialogFactory.getDialog(InstallFromProtocolDialogComponent, { + disableClose: true, + data: { + protocol, + }, + }); + + return dialog.afterClosed().pipe(first()); + } +} diff --git a/wowup-electron/src/app/utils/string.utils.ts b/wowup-electron/src/app/utils/string.utils.ts index f12679c9..465fd6da 100644 --- a/wowup-electron/src/app/utils/string.utils.ts +++ b/wowup-electron/src/app/utils/string.utils.ts @@ -42,6 +42,13 @@ export function getProtocol(arg: string): string | null { return match !== null && match.length > 1 ? match[1] : null; } +export function getProtocolParts(protocol: string) { + return new URL(protocol).pathname + .split("/") + .filter((part) => !!part) + .map((part) => part.toLowerCase()); +} + export function getRelativeDateFormat(value: string): [string, object | undefined] { if (!value) { return ["", undefined]; diff --git a/wowup-electron/src/common/warcraft/index.ts b/wowup-electron/src/common/warcraft/index.ts new file mode 100644 index 00000000..cc736a06 --- /dev/null +++ b/wowup-electron/src/common/warcraft/index.ts @@ -0,0 +1,44 @@ +import * as constants from "../constants"; +import { WowClientGroup, WowClientType } from "./wow-client-type"; + +export function getWowClientFolderName(clientType: WowClientType): string { + switch (clientType) { + case WowClientType.Retail: + return constants.WOW_RETAIL_FOLDER; + case WowClientType.ClassicEra: + return constants.WOW_CLASSIC_ERA_FOLDER; + case WowClientType.Classic: + return constants.WOW_CLASSIC_FOLDER; + case WowClientType.RetailPtr: + return constants.WOW_RETAIL_PTR_FOLDER; + case WowClientType.ClassicPtr: + return constants.WOW_CLASSIC_PTR_FOLDER; + case WowClientType.Beta: + return constants.WOW_BETA_FOLDER; + case WowClientType.ClassicBeta: + return constants.WOW_CLASSIC_BETA_FOLDER; + case WowClientType.ClassicEraPtr: + return constants.WOW_CLASSIC_ERA_PTR_FOLDER; + default: + return ""; + } +} + +export function getWowClientGroup(clientType: string | WowClientType): WowClientGroup { + const enumVal: WowClientType = typeof clientType === "string" ? WowClientType[clientType] : clientType; + switch (enumVal) { + case WowClientType.Beta: + case WowClientType.Retail: + case WowClientType.RetailPtr: + return WowClientGroup.Retail; + case WowClientType.ClassicEra: + case WowClientType.ClassicEraPtr: + return WowClientGroup.Classic; + case WowClientType.Classic: + case WowClientType.ClassicBeta: + case WowClientType.ClassicPtr: + return WowClientGroup.BurningCrusade; + default: + throw new Error(`unsupported client type: ${clientType}`); + } +}