Radish alpha
r
Radicle web interface
Radicle
Git (anonymous pull)
Log in to clone via SSH
Update deps
Sebastian Martinez committed 2 years ago
commit 08683dc9e9db9f6c9496f0ca7402a357e88fea9e
parent 289cf2480064e385c562a4c6b296a08ab5e04614
8 files changed +257 -261
modified .nvmrc
@@ -1 +1 @@
-
18.16.0
+
18.17.1
modified .tool-versions
@@ -1 +1 @@
-
nodejs 18.16.0
+
nodejs 18.17.1
modified package-lock.json
@@ -18,46 +18,45 @@
        "hast-util-to-dom": "^3.1.1",
        "hast-util-to-html": "^8.0.4",
        "lodash": "^4.17.21",
-
        "marked": "^5.1.2",
+
        "marked": "^7.0.4",
        "marked-katex-extension": "^3.0.3",
        "marked-linkify-it": "^3.1.1",
        "md5": "^2.3.0",
        "plausible-tracker": "^0.3.8",
        "sinon": "^15.2.0",
-
        "svelte": "^4.1.2",
+
        "svelte": "^4.2.0",
        "twemoji": "^14.0.2",
-
        "zod": "^3.21.4"
+
        "zod": "^3.22.2"
      },
      "devDependencies": {
-
        "@playwright/test": "^1.36.2",
-
        "@sinonjs/fake-timers": "^11.0.0",
-
        "@sveltejs/vite-plugin-svelte": "^2.4.4",
-
        "@tsconfig/svelte": "^5.0.0",
+
        "@playwright/test": "^1.37.1",
+
        "@sinonjs/fake-timers": "11.0.0",
+
        "@sveltejs/vite-plugin-svelte": "^2.4.5",
+
        "@tsconfig/svelte": "^5.0.1",
        "@types/dompurify": "^3.0.2",
        "@types/katex": "^0.16.2",
-
        "@types/lodash": "^4.14.196",
-
        "@types/marked": "^5.0.1",
+
        "@types/lodash": "^4.14.197",
        "@types/md5": "^2.3.2",
-
        "@types/node": "^18.16.19",
+
        "@types/node": "^18.17.1",
        "@types/sinon": "^10.0.16",
        "@types/sinonjs__fake-timers": "^8.1.2",
        "@types/wait-on": "^5.3.1",
-
        "@typescript-eslint/eslint-plugin": "^6.3.0",
+
        "@typescript-eslint/eslint-plugin": "^6.4.1",
        "chalk": "^5.3.0",
-
        "eslint": "^8.46.0",
+
        "eslint": "^8.47.0",
        "eslint-config-prettier": "^9.0.0",
        "eslint-plugin-no-only-tests": "^3.1.0",
-
        "eslint-plugin-svelte": "^2.32.4",
-
        "execa": "^7.2.0",
+
        "eslint-plugin-svelte": "^2.33.0",
+
        "execa": "^8.0.1",
        "exit-hook": "^3.2.0",
        "get-port": "^7.0.0",
-
        "happy-dom": "^10.9.0",
-
        "prettier": "^3.0.1",
+
        "happy-dom": "^10.10.4",
+
        "prettier": "^3.0.2",
        "prettier-plugin-svelte": "^3.0.3",
-
        "svelte-check": "^3.4.6",
+
        "svelte-check": "^3.5.0",
        "typescript": "^5.1.6",
        "vite": "^4.4.9",
-
        "vitest": "^0.34.1",
+
        "vitest": "^0.34.2",
        "wait-on": "^7.0.1"
      },
      "engines": {
@@ -453,18 +452,18 @@
      }
    },
    "node_modules/@eslint-community/regexpp": {
-
      "version": "4.6.2",
-
      "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.6.2.tgz",
-
      "integrity": "sha512-pPTNuaAG3QMH+buKyBIGJs3g/S5y0caxw0ygM3YyE6yJFySwiGGSzA+mM3KJ8QQvzeLh3blwgSonkFjgQdxzMw==",
+
      "version": "4.7.0",
+
      "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.7.0.tgz",
+
      "integrity": "sha512-+HencqxU7CFJnQb7IKtuNBqS6Yx3Tz4kOL8BJXo+JyeiBm5MEX6pO8onXDkjrkCRlfYXS1Axro15ZjVFe9YgsA==",
      "dev": true,
      "engines": {
        "node": "^12.0.0 || ^14.0.0 || >=16.0.0"
      }
    },
    "node_modules/@eslint/eslintrc": {
-
      "version": "2.1.1",
-
      "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.1.tgz",
-
      "integrity": "sha512-9t7ZA7NGGK8ckelF0PQCfcxIUzs1Md5rrO6U/c+FIQNanea5UZC0wqKXH4vHBccmu4ZJgZ2idtPeW7+Q2npOEA==",
+
      "version": "2.1.2",
+
      "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.2.tgz",
+
      "integrity": "sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==",
      "dev": true,
      "dependencies": {
        "ajv": "^6.12.4",
@@ -485,9 +484,9 @@
      }
    },
    "node_modules/@eslint/js": {
-
      "version": "8.46.0",
-
      "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.46.0.tgz",
-
      "integrity": "sha512-a8TLtmPi8xzPkCbp/OGFUo5yhRkHM2Ko9kOWP4znJr0WAhWyThaw3PnwX4vOTWOAMsV2uRt32PPDcEz63esSaA==",
+
      "version": "8.47.0",
+
      "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.47.0.tgz",
+
      "integrity": "sha512-P6omY1zv5MItm93kLM8s2vr1HICJH8v0dvddDhysbIuZ+vcjOHg5Zbkf1mTkcmi2JA9oBG2anOkRnW8WJTS8Og==",
      "dev": true,
      "engines": {
        "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
@@ -542,9 +541,9 @@
      "dev": true
    },
    "node_modules/@jest/schemas": {
-
      "version": "29.6.0",
-
      "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.0.tgz",
-
      "integrity": "sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==",
+
      "version": "29.6.3",
+
      "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz",
+
      "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==",
      "dev": true,
      "dependencies": {
        "@sinclair/typebox": "^0.27.8"
@@ -632,13 +631,13 @@
      }
    },
    "node_modules/@playwright/test": {
-
      "version": "1.36.2",
-
      "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.36.2.tgz",
-
      "integrity": "sha512-2rVZeyPRjxfPH6J0oGJqE8YxiM1IBRyM8hyrXYK7eSiAqmbNhxwcLa7dZ7fy9Kj26V7FYia5fh9XJRq4Dqme+g==",
+
      "version": "1.37.1",
+
      "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.37.1.tgz",
+
      "integrity": "sha512-bq9zTli3vWJo8S3LwB91U0qDNQDpEXnw7knhxLM0nwDvexQAwx9tO8iKDZSqqneVq+URd/WIoz+BALMqUTgdSg==",
      "dev": true,
      "dependencies": {
        "@types/node": "*",
-
        "playwright-core": "1.36.2"
+
        "playwright-core": "1.37.1"
      },
      "bin": {
        "playwright": "cli.js"
@@ -732,9 +731,9 @@
      "integrity": "sha512-sXXKG+uL9IrKqViTtao2Ws6dy0znu9sOaP1di/jKGW1M6VssO8vlpXCQcpZ+jisQ1tTFAC5Jo/EOzFbggBagFQ=="
    },
    "node_modules/@sveltejs/vite-plugin-svelte": {
-
      "version": "2.4.4",
-
      "resolved": "https://registry.npmjs.org/@sveltejs/vite-plugin-svelte/-/vite-plugin-svelte-2.4.4.tgz",
-
      "integrity": "sha512-Q5z7+iIjs3sw/Jquxaa9KSY5/MShboNjvsxnQYRMdREx/SBDmEYTjeXenpMBh6k0IQ3tMKESCiwKq3/TeAQ8Og==",
+
      "version": "2.4.5",
+
      "resolved": "https://registry.npmjs.org/@sveltejs/vite-plugin-svelte/-/vite-plugin-svelte-2.4.5.tgz",
+
      "integrity": "sha512-UJKsFNwhzCVuiZd06jM/psscyNJNDwjQC+qIeb7GBJK9iWeQCcIyfcPWDvbCudfcJggY9jtxJeeaZH7uny93FQ==",
      "dev": true,
      "dependencies": {
        "@sveltejs/vite-plugin-svelte-inspector": "^1.0.3",
@@ -754,9 +753,9 @@
      }
    },
    "node_modules/@sveltejs/vite-plugin-svelte-inspector": {
-
      "version": "1.0.3",
-
      "resolved": "https://registry.npmjs.org/@sveltejs/vite-plugin-svelte-inspector/-/vite-plugin-svelte-inspector-1.0.3.tgz",
-
      "integrity": "sha512-Khdl5jmmPN6SUsVuqSXatKpQTMIifoQPDanaxC84m9JxIibWvSABJyHpyys0Z+1yYrxY5TTEQm+6elh0XCMaOA==",
+
      "version": "1.0.4",
+
      "resolved": "https://registry.npmjs.org/@sveltejs/vite-plugin-svelte-inspector/-/vite-plugin-svelte-inspector-1.0.4.tgz",
+
      "integrity": "sha512-zjiuZ3yydBtwpF3bj0kQNV0YXe+iKE545QGZVTaylW3eAzFr+pJ/cwK8lZEaRp4JtaJXhD5DyWAV4AxLh6DgaQ==",
      "dev": true,
      "dependencies": {
        "debug": "^4.3.4"
@@ -771,9 +770,9 @@
      }
    },
    "node_modules/@tsconfig/svelte": {
-
      "version": "5.0.0",
-
      "resolved": "https://registry.npmjs.org/@tsconfig/svelte/-/svelte-5.0.0.tgz",
-
      "integrity": "sha512-iu5BqFjU0+OcLTNQp7fHe6Bf6zdNeJ9IZjLZMqWLuGzVFm/xx+lm//Tf6koPyRmxo55/Snm6RRQ990n89cRKFw==",
+
      "version": "5.0.2",
+
      "resolved": "https://registry.npmjs.org/@tsconfig/svelte/-/svelte-5.0.2.tgz",
+
      "integrity": "sha512-BRbo1fOtyVbhfLyuCWw6wAWp+U8UQle+ZXu84MYYWzYSEB28dyfnRBIE99eoG+qdAC0po6L2ScIEivcT07UaMA==",
      "dev": true
    },
    "node_modules/@types/chai": {
@@ -830,15 +829,9 @@
      "integrity": "sha512-HZQYqbiFVWufzCwexrvh694SOim8z2d+xJl5UNamcvQFejLY/2YUtzXHYi3cHdI7PMlS8ejH2slRAOJQ32aNbA=="
    },
    "node_modules/@types/lodash": {
-
      "version": "4.14.196",
-
      "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.196.tgz",
-
      "integrity": "sha512-22y3o88f4a94mKljsZcanlNWPzO0uBsBdzLAngf2tp533LzZcQzb6+eZPJ+vCTt+bqF2XnvT9gejTLsAcJAJyQ==",
-
      "dev": true
-
    },
-
    "node_modules/@types/marked": {
-
      "version": "5.0.1",
-
      "resolved": "https://registry.npmjs.org/@types/marked/-/marked-5.0.1.tgz",
-
      "integrity": "sha512-Y3pAUzHKh605fN6fvASsz5FDSWbZcs/65Q6xYRmnIP9ZIYz27T4IOmXfH9gWJV1dpi7f1e7z7nBGUTx/a0ptpA==",
+
      "version": "4.14.197",
+
      "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.197.tgz",
+
      "integrity": "sha512-BMVOiWs0uNxHVlHBgzTIqJYmj+PgCo4euloGF+5m4okL3rEYzM2EEv78mw8zWSMM57dM7kVIgJ2QDvwHSoCI5g==",
      "dev": true
    },
    "node_modules/@types/md5": {
@@ -848,9 +841,9 @@
      "dev": true
    },
    "node_modules/@types/node": {
-
      "version": "18.17.4",
-
      "resolved": "https://registry.npmjs.org/@types/node/-/node-18.17.4.tgz",
-
      "integrity": "sha512-ATL4WLgr7/W40+Sp1WnNTSKbgVn6Pvhc/2RHAdt8fl6NsQyp4oPCi2eKcGOvA494bwf1K/W6nGgZ9TwDqvpjdw==",
+
      "version": "18.17.8",
+
      "resolved": "https://registry.npmjs.org/@types/node/-/node-18.17.8.tgz",
+
      "integrity": "sha512-Av/7MqX/iNKwT9Tr60V85NqMnsmh8ilfJoBlIVibkXfitk9Q22D9Y5mSpm+FvG5DET7EbVfB40bOiLzKgYFgPw==",
      "dev": true
    },
    "node_modules/@types/parse5": {
@@ -906,21 +899,20 @@
      }
    },
    "node_modules/@typescript-eslint/eslint-plugin": {
-
      "version": "6.3.0",
-
      "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.3.0.tgz",
-
      "integrity": "sha512-IZYjYZ0ifGSLZbwMqIip/nOamFiWJ9AH+T/GYNZBWkVcyNQOFGtSMoWV7RvY4poYCMZ/4lHzNl796WOSNxmk8A==",
+
      "version": "6.4.1",
+
      "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.4.1.tgz",
+
      "integrity": "sha512-3F5PtBzUW0dYlq77Lcqo13fv+58KDwUib3BddilE8ajPJT+faGgxmI9Sw+I8ZS22BYwoir9ZhNXcLi+S+I2bkw==",
      "dev": true,
      "dependencies": {
        "@eslint-community/regexpp": "^4.5.1",
-
        "@typescript-eslint/scope-manager": "6.3.0",
-
        "@typescript-eslint/type-utils": "6.3.0",
-
        "@typescript-eslint/utils": "6.3.0",
-
        "@typescript-eslint/visitor-keys": "6.3.0",
+
        "@typescript-eslint/scope-manager": "6.4.1",
+
        "@typescript-eslint/type-utils": "6.4.1",
+
        "@typescript-eslint/utils": "6.4.1",
+
        "@typescript-eslint/visitor-keys": "6.4.1",
        "debug": "^4.3.4",
        "graphemer": "^1.4.0",
        "ignore": "^5.2.4",
        "natural-compare": "^1.4.0",
-
        "natural-compare-lite": "^1.4.0",
        "semver": "^7.5.4",
        "ts-api-utils": "^1.0.1"
      },
@@ -942,16 +934,16 @@
      }
    },
    "node_modules/@typescript-eslint/parser": {
-
      "version": "6.3.0",
-
      "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.3.0.tgz",
-
      "integrity": "sha512-ibP+y2Gr6p0qsUkhs7InMdXrwldjxZw66wpcQq9/PzAroM45wdwyu81T+7RibNCh8oc0AgrsyCwJByncY0Ongg==",
+
      "version": "6.4.1",
+
      "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.4.1.tgz",
+
      "integrity": "sha512-610G6KHymg9V7EqOaNBMtD1GgpAmGROsmfHJPXNLCU9bfIuLrkdOygltK784F6Crboyd5tBFayPB7Sf0McrQwg==",
      "dev": true,
      "peer": true,
      "dependencies": {
-
        "@typescript-eslint/scope-manager": "6.3.0",
-
        "@typescript-eslint/types": "6.3.0",
-
        "@typescript-eslint/typescript-estree": "6.3.0",
-
        "@typescript-eslint/visitor-keys": "6.3.0",
+
        "@typescript-eslint/scope-manager": "6.4.1",
+
        "@typescript-eslint/types": "6.4.1",
+
        "@typescript-eslint/typescript-estree": "6.4.1",
+
        "@typescript-eslint/visitor-keys": "6.4.1",
        "debug": "^4.3.4"
      },
      "engines": {
@@ -971,13 +963,13 @@
      }
    },
    "node_modules/@typescript-eslint/scope-manager": {
-
      "version": "6.3.0",
-
      "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.3.0.tgz",
-
      "integrity": "sha512-WlNFgBEuGu74ahrXzgefiz/QlVb+qg8KDTpknKwR7hMH+lQygWyx0CQFoUmMn1zDkQjTBBIn75IxtWss77iBIQ==",
+
      "version": "6.4.1",
+
      "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.4.1.tgz",
+
      "integrity": "sha512-p/OavqOQfm4/Hdrr7kvacOSFjwQ2rrDVJRPxt/o0TOWdFnjJptnjnZ+sYDR7fi4OimvIuKp+2LCkc+rt9fIW+A==",
      "dev": true,
      "dependencies": {
-
        "@typescript-eslint/types": "6.3.0",
-
        "@typescript-eslint/visitor-keys": "6.3.0"
+
        "@typescript-eslint/types": "6.4.1",
+
        "@typescript-eslint/visitor-keys": "6.4.1"
      },
      "engines": {
        "node": "^16.0.0 || >=18.0.0"
@@ -988,13 +980,13 @@
      }
    },
    "node_modules/@typescript-eslint/type-utils": {
-
      "version": "6.3.0",
-
      "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.3.0.tgz",
-
      "integrity": "sha512-7Oj+1ox1T2Yc8PKpBvOKWhoI/4rWFd1j7FA/rPE0lbBPXTKjdbtC+7Ev0SeBjEKkIhKWVeZSP+mR7y1Db1CdfQ==",
+
      "version": "6.4.1",
+
      "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.4.1.tgz",
+
      "integrity": "sha512-7ON8M8NXh73SGZ5XvIqWHjgX2f+vvaOarNliGhjrJnv1vdjG0LVIz+ToYfPirOoBi56jxAKLfsLm40+RvxVVXA==",
      "dev": true,
      "dependencies": {
-
        "@typescript-eslint/typescript-estree": "6.3.0",
-
        "@typescript-eslint/utils": "6.3.0",
+
        "@typescript-eslint/typescript-estree": "6.4.1",
+
        "@typescript-eslint/utils": "6.4.1",
        "debug": "^4.3.4",
        "ts-api-utils": "^1.0.1"
      },
@@ -1015,9 +1007,9 @@
      }
    },
    "node_modules/@typescript-eslint/types": {
-
      "version": "6.3.0",
-
      "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.3.0.tgz",
-
      "integrity": "sha512-K6TZOvfVyc7MO9j60MkRNWyFSf86IbOatTKGrpTQnzarDZPYPVy0oe3myTMq7VjhfsUAbNUW8I5s+2lZvtx1gg==",
+
      "version": "6.4.1",
+
      "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.4.1.tgz",
+
      "integrity": "sha512-zAAopbNuYu++ijY1GV2ylCsQsi3B8QvfPHVqhGdDcbx/NK5lkqMnCGU53amAjccSpk+LfeONxwzUhDzArSfZJg==",
      "dev": true,
      "engines": {
        "node": "^16.0.0 || >=18.0.0"
@@ -1028,13 +1020,13 @@
      }
    },
    "node_modules/@typescript-eslint/typescript-estree": {
-
      "version": "6.3.0",
-
      "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.3.0.tgz",
-
      "integrity": "sha512-Xh4NVDaC4eYKY4O3QGPuQNp5NxBAlEvNQYOqJquR2MePNxO11E5K3t5x4M4Mx53IZvtpW+mBxIT0s274fLUocg==",
+
      "version": "6.4.1",
+
      "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.4.1.tgz",
+
      "integrity": "sha512-xF6Y7SatVE/OyV93h1xGgfOkHr2iXuo8ip0gbfzaKeGGuKiAnzS+HtVhSPx8Www243bwlW8IF7X0/B62SzFftg==",
      "dev": true,
      "dependencies": {
-
        "@typescript-eslint/types": "6.3.0",
-
        "@typescript-eslint/visitor-keys": "6.3.0",
+
        "@typescript-eslint/types": "6.4.1",
+
        "@typescript-eslint/visitor-keys": "6.4.1",
        "debug": "^4.3.4",
        "globby": "^11.1.0",
        "is-glob": "^4.0.3",
@@ -1055,17 +1047,17 @@
      }
    },
    "node_modules/@typescript-eslint/utils": {
-
      "version": "6.3.0",
-
      "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.3.0.tgz",
-
      "integrity": "sha512-hLLg3BZE07XHnpzglNBG8P/IXq/ZVXraEbgY7FM0Cnc1ehM8RMdn9mat3LubJ3KBeYXXPxV1nugWbQPjGeJk6Q==",
+
      "version": "6.4.1",
+
      "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.4.1.tgz",
+
      "integrity": "sha512-F/6r2RieNeorU0zhqZNv89s9bDZSovv3bZQpUNOmmQK1L80/cV4KEu95YUJWi75u5PhboFoKUJBnZ4FQcoqhDw==",
      "dev": true,
      "dependencies": {
        "@eslint-community/eslint-utils": "^4.4.0",
        "@types/json-schema": "^7.0.12",
        "@types/semver": "^7.5.0",
-
        "@typescript-eslint/scope-manager": "6.3.0",
-
        "@typescript-eslint/types": "6.3.0",
-
        "@typescript-eslint/typescript-estree": "6.3.0",
+
        "@typescript-eslint/scope-manager": "6.4.1",
+
        "@typescript-eslint/types": "6.4.1",
+
        "@typescript-eslint/typescript-estree": "6.4.1",
        "semver": "^7.5.4"
      },
      "engines": {
@@ -1080,12 +1072,12 @@
      }
    },
    "node_modules/@typescript-eslint/visitor-keys": {
-
      "version": "6.3.0",
-
      "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.3.0.tgz",
-
      "integrity": "sha512-kEhRRj7HnvaSjux1J9+7dBen15CdWmDnwrpyiHsFX6Qx2iW5LOBUgNefOFeh2PjWPlNwN8TOn6+4eBU3J/gupw==",
+
      "version": "6.4.1",
+
      "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.4.1.tgz",
+
      "integrity": "sha512-y/TyRJsbZPkJIZQXrHfdnxVnxyKegnpEvnRGNam7s3TRR2ykGefEWOhaef00/UUN3IZxizS7BTO3svd3lCOJRQ==",
      "dev": true,
      "dependencies": {
-
        "@typescript-eslint/types": "6.3.0",
+
        "@typescript-eslint/types": "6.4.1",
        "eslint-visitor-keys": "^3.4.1"
      },
      "engines": {
@@ -1097,13 +1089,13 @@
      }
    },
    "node_modules/@vitest/expect": {
-
      "version": "0.34.1",
-
      "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-0.34.1.tgz",
-
      "integrity": "sha512-q2CD8+XIsQ+tHwypnoCk8Mnv5e6afLFvinVGCq3/BOT4kQdVQmY6rRfyKkwcg635lbliLPqbunXZr+L1ssUWiQ==",
+
      "version": "0.34.2",
+
      "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-0.34.2.tgz",
+
      "integrity": "sha512-EZm2dMNlLyIfDMha17QHSQcg2KjeAZaXd65fpPzXY5bvnfx10Lcaz3N55uEe8PhF+w4pw+hmrlHLLlRn9vkBJg==",
      "dev": true,
      "dependencies": {
-
        "@vitest/spy": "0.34.1",
-
        "@vitest/utils": "0.34.1",
+
        "@vitest/spy": "0.34.2",
+
        "@vitest/utils": "0.34.2",
        "chai": "^4.3.7"
      },
      "funding": {
@@ -1111,12 +1103,12 @@
      }
    },
    "node_modules/@vitest/runner": {
-
      "version": "0.34.1",
-
      "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-0.34.1.tgz",
-
      "integrity": "sha512-YfQMpYzDsYB7yqgmlxZ06NI4LurHWfrH7Wy3Pvf/z/vwUSgq1zLAb1lWcItCzQG+NVox+VvzlKQrYEXb47645g==",
+
      "version": "0.34.2",
+
      "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-0.34.2.tgz",
+
      "integrity": "sha512-8ydGPACVX5tK3Dl0SUwxfdg02h+togDNeQX3iXVFYgzF5odxvaou7HnquALFZkyVuYskoaHUOqOyOLpOEj5XTA==",
      "dev": true,
      "dependencies": {
-
        "@vitest/utils": "0.34.1",
+
        "@vitest/utils": "0.34.2",
        "p-limit": "^4.0.0",
        "pathe": "^1.1.1"
      },
@@ -1152,9 +1144,9 @@
      }
    },
    "node_modules/@vitest/snapshot": {
-
      "version": "0.34.1",
-
      "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-0.34.1.tgz",
-
      "integrity": "sha512-0O9LfLU0114OqdF8lENlrLsnn024Tb1CsS9UwG0YMWY2oGTQfPtkW+B/7ieyv0X9R2Oijhi3caB1xgGgEgclSQ==",
+
      "version": "0.34.2",
+
      "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-0.34.2.tgz",
+
      "integrity": "sha512-qhQ+xy3u4mwwLxltS4Pd4SR+XHv4EajiTPNY3jkIBLUApE6/ce72neJPSUQZ7bL3EBuKI+NhvzhGj3n5baRQUQ==",
      "dev": true,
      "dependencies": {
        "magic-string": "^0.30.1",
@@ -1166,9 +1158,9 @@
      }
    },
    "node_modules/@vitest/spy": {
-
      "version": "0.34.1",
-
      "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-0.34.1.tgz",
-
      "integrity": "sha512-UT4WcI3EAPUNO8n6y9QoEqynGGEPmmRxC+cLzneFFXpmacivjHZsNbiKD88KUScv5DCHVDgdBsLD7O7s1enFcQ==",
+
      "version": "0.34.2",
+
      "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-0.34.2.tgz",
+
      "integrity": "sha512-yd4L9OhfH6l0Av7iK3sPb3MykhtcRN5c5K5vm1nTbuN7gYn+yvUVVsyvzpHrjqS7EWqn9WsPJb7+0c3iuY60tA==",
      "dev": true,
      "dependencies": {
        "tinyspy": "^2.1.1"
@@ -1178,9 +1170,9 @@
      }
    },
    "node_modules/@vitest/utils": {
-
      "version": "0.34.1",
-
      "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-0.34.1.tgz",
-
      "integrity": "sha512-/ql9dsFi4iuEbiNcjNHQWXBum7aL8pyhxvfnD9gNtbjR9fUKAjxhj4AA3yfLXg6gJpMGGecvtF8Au2G9y3q47Q==",
+
      "version": "0.34.2",
+
      "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-0.34.2.tgz",
+
      "integrity": "sha512-Lzw+kAsTPubhoQDp1uVAOP6DhNia1GMDsI9jgB0yMn+/nDaPieYQ88lKqz/gGjSHL4zwOItvpehec9OY+rS73w==",
      "dev": true,
      "dependencies": {
        "diff-sequences": "^29.4.3",
@@ -1586,13 +1578,13 @@
      }
    },
    "node_modules/code-red": {
-
      "version": "1.0.3",
-
      "resolved": "https://registry.npmjs.org/code-red/-/code-red-1.0.3.tgz",
-
      "integrity": "sha512-kVwJELqiILQyG5aeuyKFbdsI1fmQy1Cmf7dQ8eGmVuJoaRVdwey7WaMknr2ZFeVSYSKT0rExsa8EGw0aoI/1QQ==",
+
      "version": "1.0.4",
+
      "resolved": "https://registry.npmjs.org/code-red/-/code-red-1.0.4.tgz",
+
      "integrity": "sha512-7qJWqItLA8/VPVlKJlFXU+NBlo/qyfs39aJcuMT/2ere32ZqvF5OSxgdM5xOfJJ7O429gg2HM47y8v9P+9wrNw==",
      "dependencies": {
-
        "@jridgewell/sourcemap-codec": "^1.4.14",
-
        "@types/estree": "^1.0.0",
-
        "acorn": "^8.8.2",
+
        "@jridgewell/sourcemap-codec": "^1.4.15",
+
        "@types/estree": "^1.0.1",
+
        "acorn": "^8.10.0",
        "estree-walker": "^3.0.3",
        "periscopic": "^3.1.0"
      }
@@ -1781,9 +1773,9 @@
      }
    },
    "node_modules/diff-sequences": {
-
      "version": "29.4.3",
-
      "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.4.3.tgz",
-
      "integrity": "sha512-ofrBgwpPhCD85kMKtE9RYFFq6OC1A89oW2vvgWZNCwxrUpRUILopY7lsYyMDSjc8g6U6aiO0Qubg6r4Wgt5ZnA==",
+
      "version": "29.6.3",
+
      "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz",
+
      "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==",
      "dev": true,
      "engines": {
        "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
@@ -1886,15 +1878,15 @@
      }
    },
    "node_modules/eslint": {
-
      "version": "8.46.0",
-
      "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.46.0.tgz",
-
      "integrity": "sha512-cIO74PvbW0qU8e0mIvk5IV3ToWdCq5FYG6gWPHHkx6gNdjlbAYvtfHmlCMXxjcoVaIdwy/IAt3+mDkZkfvb2Dg==",
+
      "version": "8.47.0",
+
      "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.47.0.tgz",
+
      "integrity": "sha512-spUQWrdPt+pRVP1TTJLmfRNJJHHZryFmptzcafwSvHsceV81djHOdnEeDmkdotZyLNjDhrOasNK8nikkoG1O8Q==",
      "dev": true,
      "dependencies": {
        "@eslint-community/eslint-utils": "^4.2.0",
        "@eslint-community/regexpp": "^4.6.1",
-
        "@eslint/eslintrc": "^2.1.1",
-
        "@eslint/js": "^8.46.0",
+
        "@eslint/eslintrc": "^2.1.2",
+
        "@eslint/js": "^8.47.0",
        "@humanwhocodes/config-array": "^0.11.10",
        "@humanwhocodes/module-importer": "^1.0.1",
        "@nodelib/fs.walk": "^1.2.8",
@@ -1905,7 +1897,7 @@
        "doctrine": "^3.0.0",
        "escape-string-regexp": "^4.0.0",
        "eslint-scope": "^7.2.2",
-
        "eslint-visitor-keys": "^3.4.2",
+
        "eslint-visitor-keys": "^3.4.3",
        "espree": "^9.6.1",
        "esquery": "^1.4.2",
        "esutils": "^2.0.2",
@@ -1961,9 +1953,9 @@
      }
    },
    "node_modules/eslint-plugin-svelte": {
-
      "version": "2.32.4",
-
      "resolved": "https://registry.npmjs.org/eslint-plugin-svelte/-/eslint-plugin-svelte-2.32.4.tgz",
-
      "integrity": "sha512-VJ12i2Iogug1jvhwxSlognnfGj76P5gks/V4pUD4SCSVQOp14u47MNP0zAG8AQR3LT0Fi1iUvIFnY4l9z5Rwbg==",
+
      "version": "2.33.0",
+
      "resolved": "https://registry.npmjs.org/eslint-plugin-svelte/-/eslint-plugin-svelte-2.33.0.tgz",
+
      "integrity": "sha512-kk7Z4BfxVjFYJseFcOpS8kiKNio7KnAnhFagmM89h1wNSKlM7tIn+uguNQppKM9leYW+S+Us0Rjg2Qg3zsEcvg==",
      "dev": true,
      "dependencies": {
        "@eslint-community/eslint-utils": "^4.2.0",
@@ -1976,7 +1968,7 @@
        "postcss-safe-parser": "^6.0.0",
        "postcss-selector-parser": "^6.0.11",
        "semver": "^7.5.3",
-
        "svelte-eslint-parser": "^0.32.2"
+
        "svelte-eslint-parser": ">=0.33.0 <1.0.0"
      },
      "engines": {
        "node": "^14.17.0 || >=16.0.0"
@@ -2011,9 +2003,9 @@
      }
    },
    "node_modules/eslint-visitor-keys": {
-
      "version": "3.4.2",
-
      "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.2.tgz",
-
      "integrity": "sha512-8drBzUEyZ2llkpCA67iYrgEssKDUu68V8ChqqOfFupIaG/LCVPUT+CoGJpT77zJprs4T/W7p07LP7zAIMuweVw==",
+
      "version": "3.4.3",
+
      "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz",
+
      "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==",
      "dev": true,
      "engines": {
        "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
@@ -2121,23 +2113,23 @@
      }
    },
    "node_modules/execa": {
-
      "version": "7.2.0",
-
      "resolved": "https://registry.npmjs.org/execa/-/execa-7.2.0.tgz",
-
      "integrity": "sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA==",
+
      "version": "8.0.1",
+
      "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz",
+
      "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==",
      "dev": true,
      "dependencies": {
        "cross-spawn": "^7.0.3",
-
        "get-stream": "^6.0.1",
-
        "human-signals": "^4.3.0",
+
        "get-stream": "^8.0.1",
+
        "human-signals": "^5.0.0",
        "is-stream": "^3.0.0",
        "merge-stream": "^2.0.0",
        "npm-run-path": "^5.1.0",
        "onetime": "^6.0.0",
-
        "signal-exit": "^3.0.7",
+
        "signal-exit": "^4.1.0",
        "strip-final-newline": "^3.0.0"
      },
      "engines": {
-
        "node": "^14.18.0 || ^16.14.0 || >=18.0.0"
+
        "node": ">=16.17"
      },
      "funding": {
        "url": "https://github.com/sindresorhus/execa?sponsor=1"
@@ -2377,12 +2369,12 @@
      }
    },
    "node_modules/get-stream": {
-
      "version": "6.0.1",
-
      "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz",
-
      "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==",
+
      "version": "8.0.1",
+
      "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz",
+
      "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==",
      "dev": true,
      "engines": {
-
        "node": ">=10"
+
        "node": ">=16"
      },
      "funding": {
        "url": "https://github.com/sponsors/sindresorhus"
@@ -2421,9 +2413,9 @@
      }
    },
    "node_modules/globals": {
-
      "version": "13.20.0",
-
      "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz",
-
      "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==",
+
      "version": "13.21.0",
+
      "resolved": "https://registry.npmjs.org/globals/-/globals-13.21.0.tgz",
+
      "integrity": "sha512-ybyme3s4yy/t/3s35bewwXKOf7cvzfreG2lH0lZl0JB7I4GxRP2ghxOK/Nb9EkRXdbBXZLfq/p/0W2JUONB/Gg==",
      "dev": true,
      "dependencies": {
        "type-fest": "^0.20.2"
@@ -2467,9 +2459,9 @@
      "dev": true
    },
    "node_modules/happy-dom": {
-
      "version": "10.9.0",
-
      "resolved": "https://registry.npmjs.org/happy-dom/-/happy-dom-10.9.0.tgz",
-
      "integrity": "sha512-SGZ8QqSNDVkWt5T7GNACKS+CpGvr58OKurqCR1iH371dMgpXyUI2tJA91cASG6fe2d5xYnVFOgOwx4MmOaXepw==",
+
      "version": "10.11.0",
+
      "resolved": "https://registry.npmjs.org/happy-dom/-/happy-dom-10.11.0.tgz",
+
      "integrity": "sha512-CmUT4LOLzvAsbYqgTJESrPyvF0gxLDkDG/KK1o/HYU7+c9o/VVIKXl3feJZnuCYbGqemw7meiQaZcL4SMgn1jQ==",
      "dev": true,
      "dependencies": {
        "css.escape": "^1.5.1",
@@ -2627,12 +2619,12 @@
      }
    },
    "node_modules/human-signals": {
-
      "version": "4.3.1",
-
      "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-4.3.1.tgz",
-
      "integrity": "sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==",
+
      "version": "5.0.0",
+
      "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz",
+
      "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==",
      "dev": true,
      "engines": {
-
        "node": ">=14.18.0"
+
        "node": ">=16.17.0"
      }
    },
    "node_modules/iconv-lite": {
@@ -3016,9 +3008,9 @@
      }
    },
    "node_modules/magic-string": {
-
      "version": "0.30.2",
-
      "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.2.tgz",
-
      "integrity": "sha512-lNZdu7pewtq/ZvWUp9Wpf/x7WzMTsR26TWV03BRZrXFsv+BI6dy8RAiKgm1uM/kyR0rCfUcqvOlXKG66KhIGug==",
+
      "version": "0.30.3",
+
      "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.3.tgz",
+
      "integrity": "sha512-B7xGbll2fG/VjP+SWg4sX3JynwIU0mjoTc6MPpKNuIvftk6u6vqhDnk1R80b8C2GBR6ywqy+1DcKBrevBg+bmw==",
      "dependencies": {
        "@jridgewell/sourcemap-codec": "^1.4.15"
      },
@@ -3027,9 +3019,9 @@
      }
    },
    "node_modules/marked": {
-
      "version": "5.1.2",
-
      "resolved": "https://registry.npmjs.org/marked/-/marked-5.1.2.tgz",
-
      "integrity": "sha512-ahRPGXJpjMjwSOlBoTMZAK7ATXkli5qCPxZ21TG44rx1KEo44bii4ekgTDQPNRQ4Kh7JMb9Ub1PVk1NxRSsorg==",
+
      "version": "7.0.4",
+
      "resolved": "https://registry.npmjs.org/marked/-/marked-7.0.4.tgz",
+
      "integrity": "sha512-t8eP0dXRJMtMvBojtkcsA7n48BkauktUKzfkPSCq85ZMTJ0v76Rke4DYz01omYpPTUh4p/f7HePgRo3ebG8+QQ==",
      "bin": {
        "marked": "bin/marked.js"
      },
@@ -3230,12 +3222,6 @@
      "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==",
      "dev": true
    },
-
    "node_modules/natural-compare-lite": {
-
      "version": "1.4.0",
-
      "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz",
-
      "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==",
-
      "dev": true
-
    },
    "node_modules/nise": {
      "version": "5.1.4",
      "resolved": "https://registry.npmjs.org/nise/-/nise-5.1.4.tgz",
@@ -3503,9 +3489,9 @@
      }
    },
    "node_modules/playwright-core": {
-
      "version": "1.36.2",
-
      "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.36.2.tgz",
-
      "integrity": "sha512-sQYZt31dwkqxOrP7xy2ggDfEzUxM1lodjhsQ3NMMv5uGTRDsLxU0e4xf4wwMkF2gplIxf17QMBCodSFgm6bFVQ==",
+
      "version": "1.37.1",
+
      "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.37.1.tgz",
+
      "integrity": "sha512-17EuQxlSIYCmEMwzMqusJ2ztDgJePjrbttaefgdsiqeLWidjYz9BxXaTaZWxH1J95SHGk6tjE+dwgWILJoUZfA==",
      "dev": true,
      "bin": {
        "playwright-core": "cli.js"
@@ -3515,9 +3501,9 @@
      }
    },
    "node_modules/postcss": {
-
      "version": "8.4.27",
-
      "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.27.tgz",
-
      "integrity": "sha512-gY/ACJtJPSmUFPDCHtX78+01fHa64FaU4zaaWfuh1MhGJISufJAH4cun6k/8fwsHYeK4UQmENQK+tRLCFJE8JQ==",
+
      "version": "8.4.28",
+
      "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.28.tgz",
+
      "integrity": "sha512-Z7V5j0cq8oEKyejIKfpD8b4eBy9cwW2JWPk0+fB1HOAMsfHbnAXLLS+PfVWlzMSLQaWttKDt607I0XHmpE67Vw==",
      "dev": true,
      "funding": [
        {
@@ -3588,9 +3574,9 @@
      }
    },
    "node_modules/postcss-scss": {
-
      "version": "4.0.6",
-
      "resolved": "https://registry.npmjs.org/postcss-scss/-/postcss-scss-4.0.6.tgz",
-
      "integrity": "sha512-rLDPhJY4z/i4nVFZ27j9GqLxj1pwxE80eAzUNRMXtcpipFYIeowerzBgG3yJhMtObGEXidtIgbUpQ3eLDsf5OQ==",
+
      "version": "4.0.7",
+
      "resolved": "https://registry.npmjs.org/postcss-scss/-/postcss-scss-4.0.7.tgz",
+
      "integrity": "sha512-xPv2GseoyXPa58Nro7M73ZntttusuCmZdeOojUFR5PZDz2BR62vfYx1w9TyOnp1+nYFowgOMipsCBhxzVkAEPw==",
      "dev": true,
      "funding": [
        {
@@ -3600,6 +3586,10 @@
        {
          "type": "tidelift",
          "url": "https://tidelift.com/funding/github/npm/postcss-scss"
+
        },
+
        {
+
          "type": "github",
+
          "url": "https://github.com/sponsors/ai"
        }
      ],
      "engines": {
@@ -3632,9 +3622,9 @@
      }
    },
    "node_modules/prettier": {
-
      "version": "3.0.1",
-
      "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.0.1.tgz",
-
      "integrity": "sha512-fcOWSnnpCrovBsmFZIGIy9UqK2FaI7Hqax+DIO0A9UxeVoY4iweyaFjS5TavZN97Hfehph0nhsZnjlVKzEQSrQ==",
+
      "version": "3.0.2",
+
      "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.0.2.tgz",
+
      "integrity": "sha512-o2YR9qtniXvwEZlOKbveKfDQVyqxbEIWn48Z8m3ZJjBjcCmUy3xZGIv+7AkaeuaTr6yPXJjwv07ZWlsWbEy1rQ==",
      "dev": true,
      "bin": {
        "prettier": "bin/prettier.cjs"
@@ -3657,12 +3647,12 @@
      }
    },
    "node_modules/pretty-format": {
-
      "version": "29.6.2",
-
      "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.2.tgz",
-
      "integrity": "sha512-1q0oC8eRveTg5nnBEWMXAU2qpv65Gnuf2eCQzSjxpWFkPaPARwqZZDGuNE0zPAZfTCHzIk3A8dIjwlQKKLphyg==",
+
      "version": "29.6.3",
+
      "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.3.tgz",
+
      "integrity": "sha512-ZsBgjVhFAj5KeK+nHfF1305/By3lechHQSMWCTl8iHSbfOm2TN5nHEtFc/+W7fAyUeCs2n5iow72gld4gW0xDw==",
      "dev": true,
      "dependencies": {
-
        "@jest/schemas": "^29.6.0",
+
        "@jest/schemas": "^29.6.3",
        "ansi-styles": "^5.0.0",
        "react-is": "^18.0.0"
      },
@@ -3761,9 +3751,9 @@
      }
    },
    "node_modules/rollup": {
-
      "version": "3.28.0",
-
      "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.28.0.tgz",
-
      "integrity": "sha512-d7zhvo1OUY2SXSM6pfNjgD5+d0Nz87CUp4mt8l/GgVP3oBsPwzNvSzyu1me6BSG9JIgWNTVcafIXBIyM8yQ3yw==",
+
      "version": "3.28.1",
+
      "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.28.1.tgz",
+
      "integrity": "sha512-R9OMQmIHJm9znrU3m3cpE8uhN0fGdXiawME7aZIpQqvpS/85+Vt1Hq1/yVIcYfOmaQiHjvXkQAoJukvLpau6Yw==",
      "dev": true,
      "bin": {
        "rollup": "dist/bin/rollup"
@@ -3905,10 +3895,16 @@
      "dev": true
    },
    "node_modules/signal-exit": {
-
      "version": "3.0.7",
-
      "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz",
-
      "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==",
-
      "dev": true
+
      "version": "4.1.0",
+
      "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz",
+
      "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==",
+
      "dev": true,
+
      "engines": {
+
        "node": ">=14"
+
      },
+
      "funding": {
+
        "url": "https://github.com/sponsors/isaacs"
+
      }
    },
    "node_modules/sinon": {
      "version": "15.2.0",
@@ -3983,9 +3979,9 @@
      "dev": true
    },
    "node_modules/std-env": {
-
      "version": "3.3.3",
-
      "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.3.3.tgz",
-
      "integrity": "sha512-Rz6yejtVyWnVjC1RFvNmYL10kgjC49EOghxWn0RFqlCHGFpQx+Xe7yW3I4ceK1SGrWIGMjD5Kbue8W/udkbMJg==",
+
      "version": "3.4.3",
+
      "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.4.3.tgz",
+
      "integrity": "sha512-f9aPhy8fYBuMN+sNfakZV18U39PbalgjXG3lLB9WkaYTxijru61wb57V9wxxNthXM5Sd88ETBWi29qLAsHO52Q==",
      "dev": true
    },
    "node_modules/stringify-entities": {
@@ -4081,9 +4077,9 @@
      }
    },
    "node_modules/svelte": {
-
      "version": "4.1.2",
-
      "resolved": "https://registry.npmjs.org/svelte/-/svelte-4.1.2.tgz",
-
      "integrity": "sha512-/evA8U6CgOHe5ZD1C1W3va9iJG7mWflcCdghBORJaAhD2JzrVERJty/2gl0pIPrJYBGZwZycH6onYf+64XXF9g==",
+
      "version": "4.2.0",
+
      "resolved": "https://registry.npmjs.org/svelte/-/svelte-4.2.0.tgz",
+
      "integrity": "sha512-kVsdPjDbLrv74SmLSUzAsBGquMs4MPgWGkGLpH+PjOYnFOziAvENVzgJmyOCV2gntxE32aNm8/sqNKD6LbIpeQ==",
      "dependencies": {
        "@ampproject/remapping": "^2.2.1",
        "@jridgewell/sourcemap-codec": "^1.4.15",
@@ -4104,9 +4100,9 @@
      }
    },
    "node_modules/svelte-check": {
-
      "version": "3.4.6",
-
      "resolved": "https://registry.npmjs.org/svelte-check/-/svelte-check-3.4.6.tgz",
-
      "integrity": "sha512-OBlY8866Zh1zHQTkBMPS6psPi7o2umTUyj6JWm4SacnIHXpWFm658pG32m3dKvKFL49V4ntAkfFHKo4ztH07og==",
+
      "version": "3.5.0",
+
      "resolved": "https://registry.npmjs.org/svelte-check/-/svelte-check-3.5.0.tgz",
+
      "integrity": "sha512-KHujbn4k17xKYLmtCwv0sKKM7uiHTYcQvXnvrCcNU6a7hcszh99zFTIoiu/Sp/ewAw5aJmillJ1Cs8gKLmcX4A==",
      "dev": true,
      "dependencies": {
        "@jridgewell/trace-mapping": "^0.3.17",
@@ -4126,16 +4122,16 @@
      }
    },
    "node_modules/svelte-eslint-parser": {
-
      "version": "0.32.2",
-
      "resolved": "https://registry.npmjs.org/svelte-eslint-parser/-/svelte-eslint-parser-0.32.2.tgz",
-
      "integrity": "sha512-Ok9D3A4b23iLQsONrjqtXtYDu5ZZ/826Blaw2LeFZVTg1pwofKDG4mz3/GYTax8fQ0plRGHI6j+d9VQYy5Lo/A==",
+
      "version": "0.33.0",
+
      "resolved": "https://registry.npmjs.org/svelte-eslint-parser/-/svelte-eslint-parser-0.33.0.tgz",
+
      "integrity": "sha512-5awZ6Bs+Tb/zQwa41PSdcLynAVQTwW0HGyCBjtbAQ59taLZqDgQSMzRlDmapjZdDtzERm0oXDZNE0E+PKJ6ryg==",
      "dev": true,
      "dependencies": {
        "eslint-scope": "^7.0.0",
        "eslint-visitor-keys": "^3.0.0",
        "espree": "^9.0.0",
-
        "postcss": "^8.4.25",
-
        "postcss-scss": "^4.0.6"
+
        "postcss": "^8.4.28",
+
        "postcss-scss": "^4.0.7"
      },
      "engines": {
        "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
@@ -4281,9 +4277,9 @@
      }
    },
    "node_modules/ts-api-utils": {
-
      "version": "1.0.1",
-
      "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.0.1.tgz",
-
      "integrity": "sha512-lC/RGlPmwdrIBFTX59wwNzqh7aR2otPNPR/5brHZm/XKFYKsfqxihXUe9pU3JI+3vGkl+vyCoNNnPhJn3aLK1A==",
+
      "version": "1.0.2",
+
      "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.0.2.tgz",
+
      "integrity": "sha512-Cbu4nIqnEdd+THNEsBdkolnOXhg0I8XteoHaEKgvsxpsbWda4IsUut2c187HxywQCvveojow0Dgw/amxtSKVkQ==",
      "dev": true,
      "engines": {
        "node": ">=16.13.0"
@@ -4293,9 +4289,9 @@
      }
    },
    "node_modules/tslib": {
-
      "version": "2.6.1",
-
      "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz",
-
      "integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig=="
+
      "version": "2.6.2",
+
      "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz",
+
      "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q=="
    },
    "node_modules/twemoji": {
      "version": "14.0.2",
@@ -4574,9 +4570,9 @@
      }
    },
    "node_modules/vite-node": {
-
      "version": "0.34.1",
-
      "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-0.34.1.tgz",
-
      "integrity": "sha512-odAZAL9xFMuAg8aWd7nSPT+hU8u2r9gU3LRm9QKjxBEF2rRdWpMuqkrkjvyVQEdNFiBctqr2Gg4uJYizm5Le6w==",
+
      "version": "0.34.2",
+
      "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-0.34.2.tgz",
+
      "integrity": "sha512-JtW249Zm3FB+F7pQfH56uWSdlltCo1IOkZW5oHBzeQo0iX4jtC7o1t9aILMGd9kVekXBP2lfJBEQt9rBh07ebA==",
      "dev": true,
      "dependencies": {
        "cac": "^6.7.14",
@@ -4611,19 +4607,19 @@
      }
    },
    "node_modules/vitest": {
-
      "version": "0.34.1",
-
      "resolved": "https://registry.npmjs.org/vitest/-/vitest-0.34.1.tgz",
-
      "integrity": "sha512-G1PzuBEq9A75XSU88yO5G4vPT20UovbC/2osB2KEuV/FisSIIsw7m5y2xMdB7RsAGHAfg2lPmp2qKr3KWliVlQ==",
+
      "version": "0.34.2",
+
      "resolved": "https://registry.npmjs.org/vitest/-/vitest-0.34.2.tgz",
+
      "integrity": "sha512-WgaIvBbjsSYMq/oiMlXUI7KflELmzM43BEvkdC/8b5CAod4ryAiY2z8uR6Crbi5Pjnu5oOmhKa9sy7uk6paBxQ==",
      "dev": true,
      "dependencies": {
        "@types/chai": "^4.3.5",
        "@types/chai-subset": "^1.3.3",
        "@types/node": "*",
-
        "@vitest/expect": "0.34.1",
-
        "@vitest/runner": "0.34.1",
-
        "@vitest/snapshot": "0.34.1",
-
        "@vitest/spy": "0.34.1",
-
        "@vitest/utils": "0.34.1",
+
        "@vitest/expect": "0.34.2",
+
        "@vitest/runner": "0.34.2",
+
        "@vitest/snapshot": "0.34.2",
+
        "@vitest/spy": "0.34.2",
+
        "@vitest/utils": "0.34.2",
        "acorn": "^8.9.0",
        "acorn-walk": "^8.2.0",
        "cac": "^6.7.14",
@@ -4638,7 +4634,7 @@
        "tinybench": "^2.5.0",
        "tinypool": "^0.7.0",
        "vite": "^3.0.0 || ^4.0.0",
-
        "vite-node": "0.34.1",
+
        "vite-node": "0.34.2",
        "why-is-node-running": "^2.2.2"
      },
      "bin": {
@@ -4820,9 +4816,9 @@
      }
    },
    "node_modules/zod": {
-
      "version": "3.21.4",
-
      "resolved": "https://registry.npmjs.org/zod/-/zod-3.21.4.tgz",
-
      "integrity": "sha512-m46AKbrzKVzOzs/DZgVnG5H55N1sv1M8qZU3A8RIKbs3mrACDNeIOeilDymVb2HdmP8uwshOCF4uJ8uM9rCqJw==",
+
      "version": "3.22.2",
+
      "resolved": "https://registry.npmjs.org/zod/-/zod-3.22.2.tgz",
+
      "integrity": "sha512-wvWkphh5WQsJbVk1tbx1l1Ly4yg+XecD+Mq280uBGt9wa5BKSWf4Mhp6GmrkPixhMxmabYY7RbzlwVP32pbGCg==",
      "funding": {
        "url": "https://github.com/sponsors/colinhacks"
      }
modified package.json
@@ -19,35 +19,34 @@
    "node": ">=18.16.0"
  },
  "devDependencies": {
-
    "@playwright/test": "^1.36.2",
-
    "@sinonjs/fake-timers": "^11.0.0",
-
    "@sveltejs/vite-plugin-svelte": "^2.4.4",
-
    "@tsconfig/svelte": "^5.0.0",
+
    "@playwright/test": "^1.37.1",
+
    "@sinonjs/fake-timers": "11.0.0",
+
    "@sveltejs/vite-plugin-svelte": "^2.4.5",
+
    "@tsconfig/svelte": "^5.0.1",
    "@types/dompurify": "^3.0.2",
    "@types/katex": "^0.16.2",
-
    "@types/lodash": "^4.14.196",
-
    "@types/marked": "^5.0.1",
+
    "@types/lodash": "^4.14.197",
    "@types/md5": "^2.3.2",
-
    "@types/node": "^18.16.19",
+
    "@types/node": "^18.17.1",
    "@types/sinon": "^10.0.16",
    "@types/sinonjs__fake-timers": "^8.1.2",
    "@types/wait-on": "^5.3.1",
-
    "@typescript-eslint/eslint-plugin": "^6.3.0",
+
    "@typescript-eslint/eslint-plugin": "^6.4.1",
    "chalk": "^5.3.0",
-
    "eslint": "^8.46.0",
+
    "eslint": "^8.47.0",
    "eslint-config-prettier": "^9.0.0",
    "eslint-plugin-no-only-tests": "^3.1.0",
-
    "eslint-plugin-svelte": "^2.32.4",
-
    "execa": "^7.2.0",
+
    "eslint-plugin-svelte": "^2.33.0",
+
    "execa": "^8.0.1",
    "exit-hook": "^3.2.0",
    "get-port": "^7.0.0",
-
    "happy-dom": "^10.9.0",
-
    "prettier": "^3.0.1",
+
    "happy-dom": "^10.10.4",
+
    "prettier": "^3.0.2",
    "prettier-plugin-svelte": "^3.0.3",
-
    "svelte-check": "^3.4.6",
+
    "svelte-check": "^3.5.0",
    "typescript": "^5.1.6",
    "vite": "^4.4.9",
-
    "vitest": "^0.34.1",
+
    "vitest": "^0.34.2",
    "wait-on": "^7.0.1"
  },
  "dependencies": {
@@ -61,14 +60,14 @@
    "hast-util-to-dom": "^3.1.1",
    "hast-util-to-html": "^8.0.4",
    "lodash": "^4.17.21",
-
    "marked": "^5.1.2",
+
    "marked": "^7.0.4",
    "marked-katex-extension": "^3.0.3",
    "marked-linkify-it": "^3.1.1",
    "md5": "^2.3.0",
    "plausible-tracker": "^0.3.8",
    "sinon": "^15.2.0",
-
    "svelte": "^4.1.2",
+
    "svelte": "^4.2.0",
    "twemoji": "^14.0.2",
-
    "zod": "^3.21.4"
+
    "zod": "^3.22.2"
  }
}
modified src/components/InlineMarkdown.svelte
@@ -8,7 +8,7 @@
  export let fontSize: "tiny" | "small" | "medium" = "small";

  const render = (content: string): string =>
-
    dompurify.sanitize(markdown.parseInline(content));
+
    dompurify.sanitize(markdown.parseInline(content) as string);
</script>

<style>
modified src/components/Markdown.svelte
@@ -53,7 +53,9 @@

  function render(content: string): string {
    return dompurify.sanitize(
-
      markdown.parse(content, { renderer: new Renderer(linkBaseUrl) }),
+
      markdown.parse(content, {
+
        renderer: new Renderer(linkBaseUrl),
+
      }) as string,
    );
  }

modified src/lib/markdown.ts
@@ -1,4 +1,4 @@
-
import type { marked } from "marked";
+
import type { Tokens } from "marked";

import dompurify from "dompurify";
import katexMarkedExtension from "marked-katex-extension";
@@ -28,7 +28,7 @@ const emojisMarkedExtension = {
      };
    }
  },
-
  renderer: (token: marked.Tokens.Generic): string =>
+
  renderer: (token: Tokens.Generic): string =>
    `<span>${token.text in emojis ? emojis[token.text] : token.text}</span>`,
};

@@ -50,7 +50,7 @@ const footnoteReferenceMarkedExtension = {
      };
    }
  },
-
  renderer: (token: marked.Tokens.Generic): string =>
+
  renderer: (token: Tokens.Generic): string =>
    `<sup class="footnote-ref" id="${referencePrefix}:${token.text}"><a href="#${footnotePrefix}:${token.text}">[${token.text}]</a></sup>`,
};
const footnoteMatch = /^\[\^([^\]]+)\]:\s([\S]*)/;
@@ -69,7 +69,7 @@ const footnoteMarkedExtension = {
      };
    }
  },
-
  renderer: (token: marked.Tokens.Generic): string =>
+
  renderer: (token: Tokens.Generic): string =>
    `${
      token.reference === "0" ? "<hr />" : ""
    }<p class="txt-small" id="${footnotePrefix}:${token.reference}">${
@@ -97,8 +97,7 @@ const anchorMarkedExtension = {
      };
    }
  },
-
  renderer: (token: marked.Tokens.Generic): string =>
-
    `<a name="${token.text}"></a>`,
+
  renderer: (token: Tokens.Generic): string => `<a name="${token.text}"></a>`,
};

export class Renderer extends BaseRenderer {
@@ -151,9 +150,6 @@ const markedInstance = new Marked(
      footnoteReferenceMarkedExtension,
      anchorMarkedExtension,
    ],
-
    // TODO: Disables deprecated options, remove once removed from marked
-
    mangle: false,
-
    headerIds: false,
  },
);

modified src/views/projects/Layout.svelte
@@ -16,6 +16,9 @@
  export let baseUrl: BaseUrl;
  export let peer: string | undefined = undefined;
  export let project: Project;
+

+
  const render = (content: string): string =>
+
    dompurify.sanitize(markdown.parse(content) as string);
</script>

<style>
@@ -122,7 +125,7 @@
  </div>

  <div class="description" use:twemoji>
-
    {@html dompurify.sanitize(markdown.parse(project.description))}
+
    {@html render(project.description)}
  </div>

  <Header {project} {activeTab} {baseUrl} />