Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1diff --git a/Rnwood.Smtp4dev/ClientApp/package-lock.json b/Rnwood.Smtp4dev/ClientApp/package-lock.json 2index be143b7..6e8b0b4 100644 3--- a/Rnwood.Smtp4dev/ClientApp/package-lock.json 4+++ b/Rnwood.Smtp4dev/ClientApp/package-lock.json 5@@ -20,7 +20,8 @@ 6 "@microsoft/signalr": "^8.0.0", 7 "@types/jest": "^29.5.12", 8 "@types/sanitize-html": "^2.11.0", 9- "@typescript-eslint/parser": "^8.0.0", 10+ "@typescript-eslint/eslint-plugin": "^8.31.1", 11+ "@typescript-eslint/parser": "^8.31.1", 12 "@vitejs/plugin-vue": "^5.0.4", 13 "@vue/eslint-config-typescript": "^13.0.0", 14 "@vue/vue3-jest": "^29.2.6", 15@@ -2937,7 +2938,8 @@ 16 "version": "7.0.15", 17 "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", 18 "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", 19- "dev": true 20+ "dev": true, 21+ "peer": true 22 }, 23 "node_modules/@types/lodash": { 24 "version": "4.17.0", 25@@ -2993,12 +2995,6 @@ 26 "entities": "^4.4.0" 27 } 28 }, 29- "node_modules/@types/semver": { 30- "version": "7.5.8", 31- "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz", 32- "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==", 33- "dev": true 34- }, 35 "node_modules/@types/stack-utils": { 36 "version": "2.0.3", 37 "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz", 38@@ -3039,84 +3035,59 @@ 39 "dev": true 40 }, 41 "node_modules/@typescript-eslint/eslint-plugin": { 42- "version": "7.6.0", 43- "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.6.0.tgz", 44- "integrity": "sha512-gKmTNwZnblUdnTIJu3e9kmeRRzV2j1a/LUO27KNNAnIC5zjy1aSvXSRp4rVNlmAoHlQ7HzX42NbKpcSr4jF80A==", 45+ "version": "8.31.1", 46+ "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.31.1.tgz", 47+ "integrity": "sha512-oUlH4h1ABavI4F0Xnl8/fOtML/eu8nI2A1nYd+f+55XI0BLu+RIqKoCiZKNo6DtqZBEQm5aNKA20G3Z5w3R6GQ==", 48 "dev": true, 49+ "license": "MIT", 50 "dependencies": { 51 "@eslint-community/regexpp": "^4.10.0", 52- "@typescript-eslint/scope-manager": "7.6.0", 53- "@typescript-eslint/type-utils": "7.6.0", 54- "@typescript-eslint/utils": "7.6.0", 55- "@typescript-eslint/visitor-keys": "7.6.0", 56- "debug": "^4.3.4", 57+ "@typescript-eslint/scope-manager": "8.31.1", 58+ "@typescript-eslint/type-utils": "8.31.1", 59+ "@typescript-eslint/utils": "8.31.1", 60+ "@typescript-eslint/visitor-keys": "8.31.1", 61 "graphemer": "^1.4.0", 62 "ignore": "^5.3.1", 63 "natural-compare": "^1.4.0", 64- "semver": "^7.6.0", 65- "ts-api-utils": "^1.3.0" 66+ "ts-api-utils": "^2.0.1" 67 }, 68 "engines": { 69- "node": "^18.18.0 || >=20.0.0" 70+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 71 }, 72 "funding": { 73 "type": "opencollective", 74 "url": "https://opencollective.com/typescript-eslint" 75 }, 76 "peerDependencies": { 77- "@typescript-eslint/parser": "^7.0.0", 78- "eslint": "^8.56.0" 79- }, 80- "peerDependenciesMeta": { 81- "typescript": { 82- "optional": true 83- } 84+ "@typescript-eslint/parser": "^8.0.0 || ^8.0.0-alpha.0", 85+ "eslint": "^8.57.0 || ^9.0.0", 86+ "typescript": ">=4.8.4 <5.9.0" 87 } 88 }, 89- "node_modules/@typescript-eslint/eslint-plugin/node_modules/lru-cache": { 90- "version": "6.0.0", 91- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", 92- "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", 93+ "node_modules/@typescript-eslint/eslint-plugin/node_modules/ts-api-utils": { 94+ "version": "2.1.0", 95+ "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.1.0.tgz", 96+ "integrity": "sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==", 97 "dev": true, 98- "dependencies": { 99- "yallist": "^4.0.0" 100- }, 101+ "license": "MIT", 102 "engines": { 103- "node": ">=10" 104- } 105- }, 106- "node_modules/@typescript-eslint/eslint-plugin/node_modules/semver": { 107- "version": "7.6.0", 108- "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", 109- "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", 110- "dev": true, 111- "dependencies": { 112- "lru-cache": "^6.0.0" 113- }, 114- "bin": { 115- "semver": "bin/semver.js" 116+ "node": ">=18.12" 117 }, 118- "engines": { 119- "node": ">=10" 120+ "peerDependencies": { 121+ "typescript": ">=4.8.4" 122 } 123 }, 124- "node_modules/@typescript-eslint/eslint-plugin/node_modules/yallist": { 125- "version": "4.0.0", 126- "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", 127- "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", 128- "dev": true 129- }, 130 "node_modules/@typescript-eslint/parser": { 131- "version": "8.31.0", 132- "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.31.0.tgz", 133- "integrity": "sha512-67kYYShjBR0jNI5vsf/c3WG4u+zDnCTHTPqVMQguffaWWFs7artgwKmfwdifl+r6XyM5LYLas/dInj2T0SgJyw==", 134+ "version": "8.31.1", 135+ "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.31.1.tgz", 136+ "integrity": "sha512-oU/OtYVydhXnumd0BobL9rkJg7wFJ9bFFPmSmB/bf/XWN85hlViji59ko6bSKBXyseT9V8l+CN1nwmlbiN0G7Q==", 137 "dev": true, 138 "license": "MIT", 139 "dependencies": { 140- "@typescript-eslint/scope-manager": "8.31.0", 141- "@typescript-eslint/types": "8.31.0", 142- "@typescript-eslint/typescript-estree": "8.31.0", 143- "@typescript-eslint/visitor-keys": "8.31.0", 144+ "@typescript-eslint/scope-manager": "8.31.1", 145+ "@typescript-eslint/types": "8.31.1", 146+ "@typescript-eslint/typescript-estree": "8.31.1", 147+ "@typescript-eslint/visitor-keys": "8.31.1", 148 "debug": "^4.3.4" 149 }, 150 "engines": { 151@@ -3131,15 +3102,15 @@ 152 "typescript": ">=4.8.4 <5.9.0" 153 } 154 }, 155- "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/scope-manager": { 156- "version": "8.31.0", 157- "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.31.0.tgz", 158- "integrity": "sha512-knO8UyF78Nt8O/B64i7TlGXod69ko7z6vJD9uhSlm0qkAbGeRUSudcm0+K/4CrRjrpiHfBCjMWlc08Vav1xwcw==", 159+ "node_modules/@typescript-eslint/scope-manager": { 160+ "version": "8.31.1", 161+ "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.31.1.tgz", 162+ "integrity": "sha512-BMNLOElPxrtNQMIsFHE+3P0Yf1z0dJqV9zLdDxN/xLlWMlXK/ApEsVEKzpizg9oal8bAT5Sc7+ocal7AC1HCVw==", 163 "dev": true, 164 "license": "MIT", 165 "dependencies": { 166- "@typescript-eslint/types": "8.31.0", 167- "@typescript-eslint/visitor-keys": "8.31.0" 168+ "@typescript-eslint/types": "8.31.1", 169+ "@typescript-eslint/visitor-keys": "8.31.1" 170 }, 171 "engines": { 172 "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 173@@ -3149,34 +3120,16 @@ 174 "url": "https://opencollective.com/typescript-eslint" 175 } 176 }, 177- "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/types": { 178- "version": "8.31.0", 179- "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.31.0.tgz", 180- "integrity": "sha512-Ch8oSjVyYyJxPQk8pMiP2FFGYatqXQfQIaMp+TpuuLlDachRWpUAeEu1u9B/v/8LToehUIWyiKcA/w5hUFRKuQ==", 181- "dev": true, 182- "license": "MIT", 183- "engines": { 184- "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 185- }, 186- "funding": { 187- "type": "opencollective", 188- "url": "https://opencollective.com/typescript-eslint" 189- } 190- }, 191- "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/typescript-estree": { 192- "version": "8.31.0", 193- "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.31.0.tgz", 194- "integrity": "sha512-xLmgn4Yl46xi6aDSZ9KkyfhhtnYI15/CvHbpOy/eR5NWhK/BK8wc709KKwhAR0m4ZKRP7h07bm4BWUYOCuRpQQ==", 195+ "node_modules/@typescript-eslint/type-utils": { 196+ "version": "8.31.1", 197+ "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.31.1.tgz", 198+ "integrity": "sha512-fNaT/m9n0+dpSp8G/iOQ05GoHYXbxw81x+yvr7TArTuZuCA6VVKbqWYVZrV5dVagpDTtj/O8k5HBEE/p/HM5LA==", 199 "dev": true, 200 "license": "MIT", 201 "dependencies": { 202- "@typescript-eslint/types": "8.31.0", 203- "@typescript-eslint/visitor-keys": "8.31.0", 204+ "@typescript-eslint/typescript-estree": "8.31.1", 205+ "@typescript-eslint/utils": "8.31.1", 206 "debug": "^4.3.4", 207- "fast-glob": "^3.3.2", 208- "is-glob": "^4.0.3", 209- "minimatch": "^9.0.4", 210- "semver": "^7.6.0", 211 "ts-api-utils": "^2.0.1" 212 }, 213 "engines": { 214@@ -3187,80 +3140,11 @@ 215 "url": "https://opencollective.com/typescript-eslint" 216 }, 217 "peerDependencies": { 218+ "eslint": "^8.57.0 || ^9.0.0", 219 "typescript": ">=4.8.4 <5.9.0" 220 } 221 }, 222- "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/visitor-keys": { 223- "version": "8.31.0", 224- "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.31.0.tgz", 225- "integrity": "sha512-QcGHmlRHWOl93o64ZUMNewCdwKGU6WItOU52H0djgNmn1EOrhVudrDzXz4OycCRSCPwFCDrE2iIt5vmuUdHxuQ==", 226- "dev": true, 227- "license": "MIT", 228- "dependencies": { 229- "@typescript-eslint/types": "8.31.0", 230- "eslint-visitor-keys": "^4.2.0" 231- }, 232- "engines": { 233- "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 234- }, 235- "funding": { 236- "type": "opencollective", 237- "url": "https://opencollective.com/typescript-eslint" 238- } 239- }, 240- "node_modules/@typescript-eslint/parser/node_modules/brace-expansion": { 241- "version": "2.0.1", 242- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", 243- "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", 244- "dev": true, 245- "license": "MIT", 246- "dependencies": { 247- "balanced-match": "^1.0.0" 248- } 249- }, 250- "node_modules/@typescript-eslint/parser/node_modules/eslint-visitor-keys": { 251- "version": "4.2.0", 252- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", 253- "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", 254- "dev": true, 255- "license": "Apache-2.0", 256- "engines": { 257- "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 258- }, 259- "funding": { 260- "url": "https://opencollective.com/eslint" 261- } 262- }, 263- "node_modules/@typescript-eslint/parser/node_modules/minimatch": { 264- "version": "9.0.5", 265- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", 266- "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", 267- "dev": true, 268- "license": "ISC", 269- "dependencies": { 270- "brace-expansion": "^2.0.1" 271- }, 272- "engines": { 273- "node": ">=16 || 14 >=14.17" 274- }, 275- "funding": { 276- "url": "https://github.com/sponsors/isaacs" 277- } 278- }, 279- "node_modules/@typescript-eslint/parser/node_modules/semver": { 280- "version": "7.7.1", 281- "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", 282- "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", 283- "dev": true, 284- "license": "ISC", 285- "bin": { 286- "semver": "bin/semver.js" 287- }, 288- "engines": { 289- "node": ">=10" 290- } 291- }, 292- "node_modules/@typescript-eslint/parser/node_modules/ts-api-utils": { 293+ "node_modules/@typescript-eslint/type-utils/node_modules/ts-api-utils": { 294 "version": "2.1.0", 295 "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.1.0.tgz", 296 "integrity": "sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==", 297@@ -3273,57 +3157,14 @@ 298 "typescript": ">=4.8.4" 299 } 300 }, 301- "node_modules/@typescript-eslint/scope-manager": { 302- "version": "7.6.0", 303- "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.6.0.tgz", 304- "integrity": "sha512-ngttyfExA5PsHSx0rdFgnADMYQi+Zkeiv4/ZxGYUWd0nLs63Ha0ksmp8VMxAIC0wtCFxMos7Lt3PszJssG/E6w==", 305- "dev": true, 306- "dependencies": { 307- "@typescript-eslint/types": "7.6.0", 308- "@typescript-eslint/visitor-keys": "7.6.0" 309- }, 310- "engines": { 311- "node": "^18.18.0 || >=20.0.0" 312- }, 313- "funding": { 314- "type": "opencollective", 315- "url": "https://opencollective.com/typescript-eslint" 316- } 317- }, 318- "node_modules/@typescript-eslint/type-utils": { 319- "version": "7.6.0", 320- "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.6.0.tgz", 321- "integrity": "sha512-NxAfqAPNLG6LTmy7uZgpK8KcuiS2NZD/HlThPXQRGwz6u7MDBWRVliEEl1Gj6U7++kVJTpehkhZzCJLMK66Scw==", 322- "dev": true, 323- "dependencies": { 324- "@typescript-eslint/typescript-estree": "7.6.0", 325- "@typescript-eslint/utils": "7.6.0", 326- "debug": "^4.3.4", 327- "ts-api-utils": "^1.3.0" 328- }, 329- "engines": { 330- "node": "^18.18.0 || >=20.0.0" 331- }, 332- "funding": { 333- "type": "opencollective", 334- "url": "https://opencollective.com/typescript-eslint" 335- }, 336- "peerDependencies": { 337- "eslint": "^8.56.0" 338- }, 339- "peerDependenciesMeta": { 340- "typescript": { 341- "optional": true 342- } 343- } 344- }, 345 "node_modules/@typescript-eslint/types": { 346- "version": "7.6.0", 347- "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.6.0.tgz", 348- "integrity": "sha512-h02rYQn8J+MureCvHVVzhl69/GAfQGPQZmOMjG1KfCl7o3HtMSlPaPUAPu6lLctXI5ySRGIYk94clD/AUMCUgQ==", 349+ "version": "8.31.1", 350+ "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.31.1.tgz", 351+ "integrity": "sha512-SfepaEFUDQYRoA70DD9GtytljBePSj17qPxFHA/h3eg6lPTqGJ5mWOtbXCk1YrVU1cTJRd14nhaXWFu0l2troQ==", 352 "dev": true, 353+ "license": "MIT", 354 "engines": { 355- "node": "^18.18.0 || >=20.0.0" 356+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 357 }, 358 "funding": { 359 "type": "opencollective", 360@@ -3331,31 +3172,30 @@ 361 } 362 }, 363 "node_modules/@typescript-eslint/typescript-estree": { 364- "version": "7.6.0", 365- "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.6.0.tgz", 366- "integrity": "sha512-+7Y/GP9VuYibecrCQWSKgl3GvUM5cILRttpWtnAu8GNL9j11e4tbuGZmZjJ8ejnKYyBRb2ddGQ3rEFCq3QjMJw==", 367+ "version": "8.31.1", 368+ "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.31.1.tgz", 369+ "integrity": "sha512-kaA0ueLe2v7KunYOyWYtlf/QhhZb7+qh4Yw6Ni5kgukMIG+iP773tjgBiLWIXYumWCwEq3nLW+TUywEp8uEeag==", 370 "dev": true, 371+ "license": "MIT", 372 "dependencies": { 373- "@typescript-eslint/types": "7.6.0", 374- "@typescript-eslint/visitor-keys": "7.6.0", 375+ "@typescript-eslint/types": "8.31.1", 376+ "@typescript-eslint/visitor-keys": "8.31.1", 377 "debug": "^4.3.4", 378- "globby": "^11.1.0", 379+ "fast-glob": "^3.3.2", 380 "is-glob": "^4.0.3", 381 "minimatch": "^9.0.4", 382 "semver": "^7.6.0", 383- "ts-api-utils": "^1.3.0" 384+ "ts-api-utils": "^2.0.1" 385 }, 386 "engines": { 387- "node": "^18.18.0 || >=20.0.0" 388+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 389 }, 390 "funding": { 391 "type": "opencollective", 392 "url": "https://opencollective.com/typescript-eslint" 393 }, 394- "peerDependenciesMeta": { 395- "typescript": { 396- "optional": true 397- } 398+ "peerDependencies": { 399+ "typescript": ">=4.8.4 <5.9.0" 400 } 401 }, 402 "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { 403@@ -3363,27 +3203,17 @@ 404 "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", 405 "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", 406 "dev": true, 407+ "license": "MIT", 408 "dependencies": { 409 "balanced-match": "^1.0.0" 410 } 411 }, 412- "node_modules/@typescript-eslint/typescript-estree/node_modules/lru-cache": { 413- "version": "6.0.0", 414- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", 415- "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", 416- "dev": true, 417- "dependencies": { 418- "yallist": "^4.0.0" 419- }, 420- "engines": { 421- "node": ">=10" 422- } 423- }, 424 "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { 425- "version": "9.0.4", 426- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz", 427- "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==", 428+ "version": "9.0.5", 429+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", 430+ "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", 431 "dev": true, 432+ "license": "ISC", 433 "dependencies": { 434 "brace-expansion": "^2.0.1" 435 }, 436@@ -3395,13 +3225,11 @@ 437 } 438 }, 439 "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { 440- "version": "7.6.0", 441- "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", 442- "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", 443+ "version": "7.7.1", 444+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", 445+ "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", 446 "dev": true, 447- "dependencies": { 448- "lru-cache": "^6.0.0" 449- }, 450+ "license": "ISC", 451 "bin": { 452 "semver": "bin/semver.js" 453 }, 454@@ -3409,85 +3237,72 @@ 455 "node": ">=10" 456 } 457 }, 458- "node_modules/@typescript-eslint/typescript-estree/node_modules/yallist": { 459- "version": "4.0.0", 460- "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", 461- "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", 462- "dev": true 463+ "node_modules/@typescript-eslint/typescript-estree/node_modules/ts-api-utils": { 464+ "version": "2.1.0", 465+ "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.1.0.tgz", 466+ "integrity": "sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==", 467+ "dev": true, 468+ "license": "MIT", 469+ "engines": { 470+ "node": ">=18.12" 471+ }, 472+ "peerDependencies": { 473+ "typescript": ">=4.8.4" 474+ } 475 }, 476 "node_modules/@typescript-eslint/utils": { 477- "version": "7.6.0", 478- "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.6.0.tgz", 479- "integrity": "sha512-x54gaSsRRI+Nwz59TXpCsr6harB98qjXYzsRxGqvA5Ue3kQH+FxS7FYU81g/omn22ML2pZJkisy6Q+ElK8pBCA==", 480+ "version": "8.31.1", 481+ "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.31.1.tgz", 482+ "integrity": "sha512-2DSI4SNfF5T4oRveQ4nUrSjUqjMND0nLq9rEkz0gfGr3tg0S5KB6DhwR+WZPCjzkZl3cH+4x2ce3EsL50FubjQ==", 483 "dev": true, 484+ "license": "MIT", 485 "dependencies": { 486 "@eslint-community/eslint-utils": "^4.4.0", 487- "@types/json-schema": "^7.0.15", 488- "@types/semver": "^7.5.8", 489- "@typescript-eslint/scope-manager": "7.6.0", 490- "@typescript-eslint/types": "7.6.0", 491- "@typescript-eslint/typescript-estree": "7.6.0", 492- "semver": "^7.6.0" 493+ "@typescript-eslint/scope-manager": "8.31.1", 494+ "@typescript-eslint/types": "8.31.1", 495+ "@typescript-eslint/typescript-estree": "8.31.1" 496 }, 497 "engines": { 498- "node": "^18.18.0 || >=20.0.0" 499+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 500 }, 501 "funding": { 502 "type": "opencollective", 503 "url": "https://opencollective.com/typescript-eslint" 504 }, 505 "peerDependencies": { 506- "eslint": "^8.56.0" 507+ "eslint": "^8.57.0 || ^9.0.0", 508+ "typescript": ">=4.8.4 <5.9.0" 509 } 510 }, 511- "node_modules/@typescript-eslint/utils/node_modules/lru-cache": { 512- "version": "6.0.0", 513- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", 514- "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", 515+ "node_modules/@typescript-eslint/visitor-keys": { 516+ "version": "8.31.1", 517+ "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.31.1.tgz", 518+ "integrity": "sha512-I+/rgqOVBn6f0o7NDTmAPWWC6NuqhV174lfYvAm9fUaWeiefLdux9/YI3/nLugEn9L8fcSi0XmpKi/r5u0nmpw==", 519 "dev": true, 520+ "license": "MIT", 521 "dependencies": { 522- "yallist": "^4.0.0" 523+ "@typescript-eslint/types": "8.31.1", 524+ "eslint-visitor-keys": "^4.2.0" 525 }, 526 "engines": { 527- "node": ">=10" 528- } 529- }, 530- "node_modules/@typescript-eslint/utils/node_modules/semver": { 531- "version": "7.6.0", 532- "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", 533- "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", 534- "dev": true, 535- "dependencies": { 536- "lru-cache": "^6.0.0" 537- }, 538- "bin": { 539- "semver": "bin/semver.js" 540+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 541 }, 542- "engines": { 543- "node": ">=10" 544+ "funding": { 545+ "type": "opencollective", 546+ "url": "https://opencollective.com/typescript-eslint" 547 } 548 }, 549- "node_modules/@typescript-eslint/utils/node_modules/yallist": { 550- "version": "4.0.0", 551- "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", 552- "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", 553- "dev": true 554- }, 555- "node_modules/@typescript-eslint/visitor-keys": { 556- "version": "7.6.0", 557- "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.6.0.tgz", 558- "integrity": "sha512-4eLB7t+LlNUmXzfOu1VAIAdkjbu5xNSerURS9X/S5TUKWFRpXRQZbmtPqgKmYx8bj3J0irtQXSiWAOY82v+cgw==", 559+ "node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": { 560+ "version": "4.2.0", 561+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", 562+ "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", 563 "dev": true, 564- "dependencies": { 565- "@typescript-eslint/types": "7.6.0", 566- "eslint-visitor-keys": "^3.4.3" 567- }, 568+ "license": "Apache-2.0", 569 "engines": { 570- "node": "^18.18.0 || >=20.0.0" 571+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 572 }, 573 "funding": { 574- "type": "opencollective", 575- "url": "https://opencollective.com/typescript-eslint" 576+ "url": "https://opencollective.com/eslint" 577 } 578 }, 579 "node_modules/@ungap/structured-clone": { 580@@ -3591,6 +3406,40 @@ 581 } 582 } 583 }, 584+ "node_modules/@vue/eslint-config-typescript/node_modules/@typescript-eslint/eslint-plugin": { 585+ "version": "7.18.0", 586+ "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.18.0.tgz", 587+ "integrity": "sha512-94EQTWZ40mzBc42ATNIBimBEDltSJ9RQHCC8vc/PDbxi4k8dVwUAv4o98dk50M1zB+JGFxp43FP7f8+FP8R6Sw==", 588+ "dev": true, 589+ "license": "MIT", 590+ "dependencies": { 591+ "@eslint-community/regexpp": "^4.10.0", 592+ "@typescript-eslint/scope-manager": "7.18.0", 593+ "@typescript-eslint/type-utils": "7.18.0", 594+ "@typescript-eslint/utils": "7.18.0", 595+ "@typescript-eslint/visitor-keys": "7.18.0", 596+ "graphemer": "^1.4.0", 597+ "ignore": "^5.3.1", 598+ "natural-compare": "^1.4.0", 599+ "ts-api-utils": "^1.3.0" 600+ }, 601+ "engines": { 602+ "node": "^18.18.0 || >=20.0.0" 603+ }, 604+ "funding": { 605+ "type": "opencollective", 606+ "url": "https://opencollective.com/typescript-eslint" 607+ }, 608+ "peerDependencies": { 609+ "@typescript-eslint/parser": "^7.0.0", 610+ "eslint": "^8.56.0" 611+ }, 612+ "peerDependenciesMeta": { 613+ "typescript": { 614+ "optional": true 615+ } 616+ } 617+ }, 618 "node_modules/@vue/eslint-config-typescript/node_modules/@typescript-eslint/parser": { 619 "version": "7.18.0", 620 "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.18.0.tgz", 621@@ -3638,6 +3487,34 @@ 622 "url": "https://opencollective.com/typescript-eslint" 623 } 624 }, 625+ "node_modules/@vue/eslint-config-typescript/node_modules/@typescript-eslint/type-utils": { 626+ "version": "7.18.0", 627+ "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.18.0.tgz", 628+ "integrity": "sha512-XL0FJXuCLaDuX2sYqZUUSOJ2sG5/i1AAze+axqmLnSkNEVMVYLF+cbwlB2w8D1tinFuSikHmFta+P+HOofrLeA==", 629+ "dev": true, 630+ "license": "MIT", 631+ "dependencies": { 632+ "@typescript-eslint/typescript-estree": "7.18.0", 633+ "@typescript-eslint/utils": "7.18.0", 634+ "debug": "^4.3.4", 635+ "ts-api-utils": "^1.3.0" 636+ }, 637+ "engines": { 638+ "node": "^18.18.0 || >=20.0.0" 639+ }, 640+ "funding": { 641+ "type": "opencollective", 642+ "url": "https://opencollective.com/typescript-eslint" 643+ }, 644+ "peerDependencies": { 645+ "eslint": "^8.56.0" 646+ }, 647+ "peerDependenciesMeta": { 648+ "typescript": { 649+ "optional": true 650+ } 651+ } 652+ }, 653 "node_modules/@vue/eslint-config-typescript/node_modules/@typescript-eslint/types": { 654 "version": "7.18.0", 655 "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.18.0.tgz", 656@@ -3681,6 +3558,29 @@ 657 } 658 } 659 }, 660+ "node_modules/@vue/eslint-config-typescript/node_modules/@typescript-eslint/utils": { 661+ "version": "7.18.0", 662+ "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.18.0.tgz", 663+ "integrity": "sha512-kK0/rNa2j74XuHVcoCZxdFBMF+aq/vH83CXAOHieC+2Gis4mF8jJXT5eAfyD3K0sAxtPuwxaIOIOvhwzVDt/kw==", 664+ "dev": true, 665+ "license": "MIT", 666+ "dependencies": { 667+ "@eslint-community/eslint-utils": "^4.4.0", 668+ "@typescript-eslint/scope-manager": "7.18.0", 669+ "@typescript-eslint/types": "7.18.0", 670+ "@typescript-eslint/typescript-estree": "7.18.0" 671+ }, 672+ "engines": { 673+ "node": "^18.18.0 || >=20.0.0" 674+ }, 675+ "funding": { 676+ "type": "opencollective", 677+ "url": "https://opencollective.com/typescript-eslint" 678+ }, 679+ "peerDependencies": { 680+ "eslint": "^8.56.0" 681+ } 682+ }, 683 "node_modules/@vue/eslint-config-typescript/node_modules/@typescript-eslint/visitor-keys": { 684 "version": "7.18.0", 685 "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.18.0.tgz", 686diff --git a/Rnwood.Smtp4dev/ClientApp/package.json b/Rnwood.Smtp4dev/ClientApp/package.json 687index a9e301a..619e55b 100644 688--- a/Rnwood.Smtp4dev/ClientApp/package.json 689+++ b/Rnwood.Smtp4dev/ClientApp/package.json 690@@ -19,7 +19,8 @@ 691 "@microsoft/signalr": "^8.0.0", 692 "@types/jest": "^29.5.12", 693 "@types/sanitize-html": "^2.11.0", 694- "@typescript-eslint/parser": "^8.0.0", 695+ "@typescript-eslint/eslint-plugin": "^8.31.1", 696+ "@typescript-eslint/parser": "^8.31.1", 697 "@vitejs/plugin-vue": "^5.0.4", 698 "@vue/eslint-config-typescript": "^13.0.0", 699 "@vue/vue3-jest": "^29.2.6",