From 71a09daa2dddf2953390d18f59ecb8b148d549b9 Mon Sep 17 00:00:00 2001 From: Yufan Sheng Date: Wed, 20 Nov 2024 14:50:07 +0800 Subject: [PATCH] feat: add the friend links. --- .vscode/settings.json | 1 + package-lock.json | 419 +++++++++++++++------------- package.json | 10 +- public/images/links/jiangcl.com.jpg | Bin 0 -> 37291 bytes src/content/friends/index.yml | 4 + 5 files changed, 231 insertions(+), 203 deletions(-) create mode 100644 public/images/links/jiangcl.com.jpg diff --git a/.vscode/settings.json b/.vscode/settings.json index 46096eb..cb41b57 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -65,6 +65,7 @@ "isodate", "jamo", "jian", + "jiangcl", "jiasm", "jing", "jmoiron", diff --git a/package-lock.json b/package-lock.json index 6755bcf..4c52837 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,12 +12,12 @@ "@astrojs/mdx": "^3.1.9", "@astrojs/rss": "^4.0.9", "@zeabur/astro-adapter": "^1.0.6", - "astro": "^4.16.12", - "drizzle-orm": "^0.36.2", + "astro": "^4.16.13", + "drizzle-orm": "^0.36.3", "fuse.js": "^7.0.0", "lodash": "^4.17.21", "luxon": "^3.5.0", - "marked": "^15.0.0", + "marked": "^15.0.1", "pg": "^8.13.1", "qrcode-svg": "^1.1.0", "ultrahtml": "^1.5.3" @@ -25,10 +25,10 @@ "devDependencies": { "@astrojs/check": "^0.9.4", "@biomejs/biome": "^1.9.4", - "@napi-rs/canvas": "^0.1.61", + "@napi-rs/canvas": "^0.1.62", "@types/lodash": "^4.17.13", "@types/luxon": "^3.4.2", - "@types/node": "^22.9.0", + "@types/node": "^22.9.1", "@types/pg": "^8.11.10", "@types/qrcode-svg": "^1.1.5", "@types/unist": "^3.0.3", @@ -1726,30 +1726,30 @@ } }, "node_modules/@napi-rs/canvas": { - "version": "0.1.61", - "resolved": "https://registry.npmjs.org/@napi-rs/canvas/-/canvas-0.1.61.tgz", - "integrity": "sha512-IJDok7OsGQ+Wd9QOWaOnFszw1mxNtJuynD+tBAhWMV6QJr7fWZx83eYS9xSl+3XR2tUa9oiHc44APcHBgdErmA==", + "version": "0.1.62", + "resolved": "https://registry.npmjs.org/@napi-rs/canvas/-/canvas-0.1.62.tgz", + "integrity": "sha512-+aqi0evK3ohAG3pFhMhM5C6y26foMUK0C1c3dfC1p/CRETwAuQlobuFGxadHkyIgc9mVyfGTpZUCnlrzt6xSwg==", "dev": true, "license": "MIT", "engines": { "node": ">= 10" }, "optionalDependencies": { - "@napi-rs/canvas-android-arm64": "0.1.61", - "@napi-rs/canvas-darwin-arm64": "0.1.61", - "@napi-rs/canvas-darwin-x64": "0.1.61", - "@napi-rs/canvas-linux-arm-gnueabihf": "0.1.61", - "@napi-rs/canvas-linux-arm64-gnu": "0.1.61", - "@napi-rs/canvas-linux-arm64-musl": "0.1.61", - "@napi-rs/canvas-linux-x64-gnu": "0.1.61", - "@napi-rs/canvas-linux-x64-musl": "0.1.61", - "@napi-rs/canvas-win32-x64-msvc": "0.1.61" + "@napi-rs/canvas-android-arm64": "0.1.62", + "@napi-rs/canvas-darwin-arm64": "0.1.62", + "@napi-rs/canvas-darwin-x64": "0.1.62", + "@napi-rs/canvas-linux-arm-gnueabihf": "0.1.62", + "@napi-rs/canvas-linux-arm64-gnu": "0.1.62", + "@napi-rs/canvas-linux-arm64-musl": "0.1.62", + "@napi-rs/canvas-linux-x64-gnu": "0.1.62", + "@napi-rs/canvas-linux-x64-musl": "0.1.62", + "@napi-rs/canvas-win32-x64-msvc": "0.1.62" } }, "node_modules/@napi-rs/canvas-android-arm64": { - "version": "0.1.61", - "resolved": "https://registry.npmjs.org/@napi-rs/canvas-android-arm64/-/canvas-android-arm64-0.1.61.tgz", - "integrity": "sha512-vnQobU4n2oTMXtDW0EHwdDIpUs4PqtAAK6vvYr9I9w984xrKe+NzFypmtGy/NkFrLoXn/i8WuCHAd1jLDGO3eA==", + "version": "0.1.62", + "resolved": "https://registry.npmjs.org/@napi-rs/canvas-android-arm64/-/canvas-android-arm64-0.1.62.tgz", + "integrity": "sha512-gilURMgNfCqXQmw211Jo6BiaQpPS7RD5baKWgnQ17XbgpJPi8+DFtbdIzQsCiFWl6p2TfXpg3cqWfN0fm+blRw==", "cpu": [ "arm64" ], @@ -1764,9 +1764,9 @@ } }, "node_modules/@napi-rs/canvas-darwin-arm64": { - "version": "0.1.61", - "resolved": "https://registry.npmjs.org/@napi-rs/canvas-darwin-arm64/-/canvas-darwin-arm64-0.1.61.tgz", - "integrity": "sha512-zH44Bs7SoaTMJ5TEuTwE4MQuijWNdvvleJacnclapKYSWywc4X5YResFmlDieHLESS0C0EwxpqyX0JT07IKKnQ==", + "version": "0.1.62", + "resolved": "https://registry.npmjs.org/@napi-rs/canvas-darwin-arm64/-/canvas-darwin-arm64-0.1.62.tgz", + "integrity": "sha512-TodBo7kdMEeGsGa80/BTJwyG9od+AMGDFe6UW7jkU8uEJmzOROVp6Y2Ka6LfLixpEGwNUCEFEUabr/gETD7bhg==", "cpu": [ "arm64" ], @@ -1781,9 +1781,9 @@ } }, "node_modules/@napi-rs/canvas-darwin-x64": { - "version": "0.1.61", - "resolved": "https://registry.npmjs.org/@napi-rs/canvas-darwin-x64/-/canvas-darwin-x64-0.1.61.tgz", - "integrity": "sha512-pTNL/peBGHUZxECDXPw9IbL3aQdn+7UBjzqM1xo+L4rwBkFLewpst5aWsMDpYyjVGvKZHbNj3J1PMmlbu6XgzA==", + "version": "0.1.62", + "resolved": "https://registry.npmjs.org/@napi-rs/canvas-darwin-x64/-/canvas-darwin-x64-0.1.62.tgz", + "integrity": "sha512-1SqtF7HbLh1XwxUhpkIZg2huG25UHkOvjMKh+GksARs4RiKFC7/jPnPyj3KtmkejyA6zsuqFd49qeJ3StJr4hQ==", "cpu": [ "x64" ], @@ -1798,9 +1798,9 @@ } }, "node_modules/@napi-rs/canvas-linux-arm-gnueabihf": { - "version": "0.1.61", - "resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-arm-gnueabihf/-/canvas-linux-arm-gnueabihf-0.1.61.tgz", - "integrity": "sha512-sXrPJ+HvX3H58/uHP3QGe2Nafk1cUBfnErfQ8PtO464lEnhvCHdGsdml48dqhnQHErFkPYhHYobHDXfYT6Kq0w==", + "version": "0.1.62", + "resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-arm-gnueabihf/-/canvas-linux-arm-gnueabihf-0.1.62.tgz", + "integrity": "sha512-L5Gp6sKyXV0KXw9V/Cy4DlouL/Wz+D5P14XsRQLlSnTXKVHSBEufZBopsbdjBu0XZTp5rAGWsdnACDzwMSsi+A==", "cpu": [ "arm" ], @@ -1815,9 +1815,9 @@ } }, "node_modules/@napi-rs/canvas-linux-arm64-gnu": { - "version": "0.1.61", - "resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-arm64-gnu/-/canvas-linux-arm64-gnu-0.1.61.tgz", - "integrity": "sha512-HtLV2lWc3VIJ1XpXqoGJo596UCSYVbHIoFAO9Apj/BdNteBGUfUq1gDALrgM+WPhNM8XLMaU+HBphUVWRvgwBw==", + "version": "0.1.62", + "resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-arm64-gnu/-/canvas-linux-arm64-gnu-0.1.62.tgz", + "integrity": "sha512-uiyeg4TFSf+SVOlM5pIh8a4oNEUAgL+KoCm6Qvpm8XhBmIpVrCpPShp0eje/zuaMCJtzFkenkbwOapW/blCCVQ==", "cpu": [ "arm64" ], @@ -1832,9 +1832,9 @@ } }, "node_modules/@napi-rs/canvas-linux-arm64-musl": { - "version": "0.1.61", - "resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-arm64-musl/-/canvas-linux-arm64-musl-0.1.61.tgz", - "integrity": "sha512-W3jYZhDLghJauKQWl8lvA7ISElWzlkdUIM+bwQqlDzYtpD4wEgi/vICiMuUbJz73fKGgYwFLgKL6dF2H3bpVYg==", + "version": "0.1.62", + "resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-arm64-musl/-/canvas-linux-arm64-musl-0.1.62.tgz", + "integrity": "sha512-diZxX37Fs/Tn2m4UDhzVxAxu0rHtis8EImamcrL+KNDSjCiEe/h0r+Gfh7wNxRv9REh10UP+zlD8PTrcSKjL3g==", "cpu": [ "arm64" ], @@ -1849,9 +1849,9 @@ } }, "node_modules/@napi-rs/canvas-linux-x64-gnu": { - "version": "0.1.61", - "resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-x64-gnu/-/canvas-linux-x64-gnu-0.1.61.tgz", - "integrity": "sha512-tfMIZukLG+Q9mg+1LJFa852GhSlwg29pZaZ/UrLRdLRG0AJ1lckyHxOhNf9z+srMsEsryaQAIYHFIoOGYGhweA==", + "version": "0.1.62", + "resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-x64-gnu/-/canvas-linux-x64-gnu-0.1.62.tgz", + "integrity": "sha512-nv0is/DH05kfREHD+62ienlb45Fi3kcvHKwmsHzSrvqNu0l6CFj8h8CuRvhB3tl1KStHZFDxUAqu14MecuK6eA==", "cpu": [ "x64" ], @@ -1866,9 +1866,9 @@ } }, "node_modules/@napi-rs/canvas-linux-x64-musl": { - "version": "0.1.61", - "resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-x64-musl/-/canvas-linux-x64-musl-0.1.61.tgz", - "integrity": "sha512-Go7zAENKdoDELf4X55pCbt4IrbrNOL+BarxO8A3MdDKF+isBioG4lNXpnAdswrDx8iJu+o1rzaGupQsF9YWxFg==", + "version": "0.1.62", + "resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-x64-musl/-/canvas-linux-x64-musl-0.1.62.tgz", + "integrity": "sha512-r8tT3k67xN5KhPTEn2KPYZ4iEGTcE6b3+ahPpYBGhKRZfZkMdvzHnmuzcSLkjh8bBlkoiObSBK/G8oY7Q335RA==", "cpu": [ "x64" ], @@ -1883,9 +1883,9 @@ } }, "node_modules/@napi-rs/canvas-win32-x64-msvc": { - "version": "0.1.61", - "resolved": "https://registry.npmjs.org/@napi-rs/canvas-win32-x64-msvc/-/canvas-win32-x64-msvc-0.1.61.tgz", - "integrity": "sha512-awGSMk4PlCV7SWC9ZxREkZvtiY+NWkramwYoQIEUJ+0KatLCbFnAaoxT7B7QE25ZUrjd1c3ZeV/Ae4Sggt276A==", + "version": "0.1.62", + "resolved": "https://registry.npmjs.org/@napi-rs/canvas-win32-x64-msvc/-/canvas-win32-x64-msvc-0.1.62.tgz", + "integrity": "sha512-uQdYrjHu6QfGFxD2K9qzomOzygC8Px5dy4v/PgwBSPCd0ShIjGrIGAY5YobjH2xwEtYEPL9KgJkGe3ts+k5Auw==", "cpu": [ "x64" ], @@ -2102,9 +2102,9 @@ "license": "MIT" }, "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.26.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.26.0.tgz", - "integrity": "sha512-gJNwtPDGEaOEgejbaseY6xMFu+CPltsc8/T+diUTTbOQLqD+bnrJq9ulH6WD69TqwqWmrfRAtUv30cCFZlbGTQ==", + "version": "4.27.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.27.3.tgz", + "integrity": "sha512-EzxVSkIvCFxUd4Mgm4xR9YXrcp976qVaHnqom/Tgm+vU79k4vV4eYTjmRvGfeoW8m9LVcsAy/lGjcgVegKEhLQ==", "cpu": [ "arm" ], @@ -2115,9 +2115,9 @@ ] }, "node_modules/@rollup/rollup-android-arm64": { - "version": "4.26.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.26.0.tgz", - "integrity": "sha512-YJa5Gy8mEZgz5JquFruhJODMq3lTHWLm1fOy+HIANquLzfIOzE9RA5ie3JjCdVb9r46qfAQY/l947V0zfGJ0OQ==", + "version": "4.27.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.27.3.tgz", + "integrity": "sha512-LJc5pDf1wjlt9o/Giaw9Ofl+k/vLUaYsE2zeQGH85giX2F+wn/Cg8b3c5CDP3qmVmeO5NzwVUzQQxwZvC2eQKw==", "cpu": [ "arm64" ], @@ -2128,9 +2128,9 @@ ] }, "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.26.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.26.0.tgz", - "integrity": "sha512-ErTASs8YKbqTBoPLp/kA1B1Um5YSom8QAc4rKhg7b9tyyVqDBlQxy7Bf2wW7yIlPGPg2UODDQcbkTlruPzDosw==", + "version": "4.27.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.27.3.tgz", + "integrity": "sha512-OuRysZ1Mt7wpWJ+aYKblVbJWtVn3Cy52h8nLuNSzTqSesYw1EuN6wKp5NW/4eSre3mp12gqFRXOKTcN3AI3LqA==", "cpu": [ "arm64" ], @@ -2141,9 +2141,9 @@ ] }, "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.26.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.26.0.tgz", - "integrity": "sha512-wbgkYDHcdWW+NqP2mnf2NOuEbOLzDblalrOWcPyY6+BRbVhliavon15UploG7PpBRQ2bZJnbmh8o3yLoBvDIHA==", + "version": "4.27.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.27.3.tgz", + "integrity": "sha512-xW//zjJMlJs2sOrCmXdB4d0uiilZsOdlGQIC/jjmMWT47lkLLoB1nsNhPUcnoqyi5YR6I4h+FjBpILxbEy8JRg==", "cpu": [ "x64" ], @@ -2154,9 +2154,9 @@ ] }, "node_modules/@rollup/rollup-freebsd-arm64": { - "version": "4.26.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.26.0.tgz", - "integrity": "sha512-Y9vpjfp9CDkAG4q/uwuhZk96LP11fBz/bYdyg9oaHYhtGZp7NrbkQrj/66DYMMP2Yo/QPAsVHkV891KyO52fhg==", + "version": "4.27.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.27.3.tgz", + "integrity": "sha512-58E0tIcwZ+12nK1WiLzHOD8I0d0kdrY/+o7yFVPRHuVGY3twBwzwDdTIBGRxLmyjciMYl1B/U515GJy+yn46qw==", "cpu": [ "arm64" ], @@ -2167,9 +2167,9 @@ ] }, "node_modules/@rollup/rollup-freebsd-x64": { - "version": "4.26.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.26.0.tgz", - "integrity": "sha512-A/jvfCZ55EYPsqeaAt/yDAG4q5tt1ZboWMHEvKAH9Zl92DWvMIbnZe/f/eOXze65aJaaKbL+YeM0Hz4kLQvdwg==", + "version": "4.27.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.27.3.tgz", + "integrity": "sha512-78fohrpcVwTLxg1ZzBMlwEimoAJmY6B+5TsyAZ3Vok7YabRBUvjYTsRXPTjGEvv/mfgVBepbW28OlMEz4w8wGA==", "cpu": [ "x64" ], @@ -2180,9 +2180,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.26.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.26.0.tgz", - "integrity": "sha512-paHF1bMXKDuizaMODm2bBTjRiHxESWiIyIdMugKeLnjuS1TCS54MF5+Y5Dx8Ui/1RBPVRE09i5OUlaLnv8OGnA==", + "version": "4.27.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.27.3.tgz", + "integrity": "sha512-h2Ay79YFXyQi+QZKo3ISZDyKaVD7uUvukEHTOft7kh00WF9mxAaxZsNs3o/eukbeKuH35jBvQqrT61fzKfAB/Q==", "cpu": [ "arm" ], @@ -2193,9 +2193,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.26.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.26.0.tgz", - "integrity": "sha512-cwxiHZU1GAs+TMxvgPfUDtVZjdBdTsQwVnNlzRXC5QzIJ6nhfB4I1ahKoe9yPmoaA/Vhf7m9dB1chGPpDRdGXg==", + "version": "4.27.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.27.3.tgz", + "integrity": "sha512-Sv2GWmrJfRY57urktVLQ0VKZjNZGogVtASAgosDZ1aUB+ykPxSi3X1nWORL5Jk0sTIIwQiPH7iE3BMi9zGWfkg==", "cpu": [ "arm" ], @@ -2206,9 +2206,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.26.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.26.0.tgz", - "integrity": "sha512-4daeEUQutGRCW/9zEo8JtdAgtJ1q2g5oHaoQaZbMSKaIWKDQwQ3Yx0/3jJNmpzrsScIPtx/V+1AfibLisb3AMQ==", + "version": "4.27.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.27.3.tgz", + "integrity": "sha512-FPoJBLsPW2bDNWjSrwNuTPUt30VnfM8GPGRoLCYKZpPx0xiIEdFip3dH6CqgoT0RnoGXptaNziM0WlKgBc+OWQ==", "cpu": [ "arm64" ], @@ -2219,9 +2219,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.26.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.26.0.tgz", - "integrity": "sha512-eGkX7zzkNxvvS05ROzJ/cO/AKqNvR/7t1jA3VZDi2vRniLKwAWxUr85fH3NsvtxU5vnUUKFHKh8flIBdlo2b3Q==", + "version": "4.27.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.27.3.tgz", + "integrity": "sha512-TKxiOvBorYq4sUpA0JT+Fkh+l+G9DScnG5Dqx7wiiqVMiRSkzTclP35pE6eQQYjP4Gc8yEkJGea6rz4qyWhp3g==", "cpu": [ "arm64" ], @@ -2232,9 +2232,9 @@ ] }, "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { - "version": "4.26.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.26.0.tgz", - "integrity": "sha512-Odp/lgHbW/mAqw/pU21goo5ruWsytP7/HCC/liOt0zcGG0llYWKrd10k9Fj0pdj3prQ63N5yQLCLiE7HTX+MYw==", + "version": "4.27.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.27.3.tgz", + "integrity": "sha512-v2M/mPvVUKVOKITa0oCFksnQQ/TqGrT+yD0184/cWHIu0LoIuYHwox0Pm3ccXEz8cEQDLk6FPKd1CCm+PlsISw==", "cpu": [ "ppc64" ], @@ -2245,9 +2245,9 @@ ] }, "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.26.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.26.0.tgz", - "integrity": "sha512-MBR2ZhCTzUgVD0OJdTzNeF4+zsVogIR1U/FsyuFerwcqjZGvg2nYe24SAHp8O5sN8ZkRVbHwlYeHqcSQ8tcYew==", + "version": "4.27.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.27.3.tgz", + "integrity": "sha512-LdrI4Yocb1a/tFVkzmOE5WyYRgEBOyEhWYJe4gsDWDiwnjYKjNs7PS6SGlTDB7maOHF4kxevsuNBl2iOcj3b4A==", "cpu": [ "riscv64" ], @@ -2258,9 +2258,9 @@ ] }, "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.26.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.26.0.tgz", - "integrity": "sha512-YYcg8MkbN17fMbRMZuxwmxWqsmQufh3ZJFxFGoHjrE7bv0X+T6l3glcdzd7IKLiwhT+PZOJCblpnNlz1/C3kGQ==", + "version": "4.27.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.27.3.tgz", + "integrity": "sha512-d4wVu6SXij/jyiwPvI6C4KxdGzuZOvJ6y9VfrcleHTwo68fl8vZC5ZYHsCVPUi4tndCfMlFniWgwonQ5CUpQcA==", "cpu": [ "s390x" ], @@ -2271,9 +2271,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.26.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.26.0.tgz", - "integrity": "sha512-ZuwpfjCwjPkAOxpjAEjabg6LRSfL7cAJb6gSQGZYjGhadlzKKywDkCUnJ+KEfrNY1jH5EEoSIKLCb572jSiglA==", + "version": "4.27.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.27.3.tgz", + "integrity": "sha512-/6bn6pp1fsCGEY5n3yajmzZQAh+mW4QPItbiWxs69zskBzJuheb3tNynEjL+mKOsUSFK11X4LYF2BwwXnzWleA==", "cpu": [ "x64" ], @@ -2284,9 +2284,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.26.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.26.0.tgz", - "integrity": "sha512-+HJD2lFS86qkeF8kNu0kALtifMpPCZU80HvwztIKnYwym3KnA1os6nsX4BGSTLtS2QVAGG1P3guRgsYyMA0Yhg==", + "version": "4.27.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.27.3.tgz", + "integrity": "sha512-nBXOfJds8OzUT1qUreT/en3eyOXd2EH5b0wr2bVB5999qHdGKkzGzIyKYaKj02lXk6wpN71ltLIaQpu58YFBoQ==", "cpu": [ "x64" ], @@ -2297,9 +2297,9 @@ ] }, "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.26.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.26.0.tgz", - "integrity": "sha512-WUQzVFWPSw2uJzX4j6YEbMAiLbs0BUysgysh8s817doAYhR5ybqTI1wtKARQKo6cGop3pHnrUJPFCsXdoFaimQ==", + "version": "4.27.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.27.3.tgz", + "integrity": "sha512-ogfbEVQgIZOz5WPWXF2HVb6En+kWzScuxJo/WdQTqEgeyGkaa2ui5sQav9Zkr7bnNCLK48uxmmK0TySm22eiuw==", "cpu": [ "arm64" ], @@ -2310,9 +2310,9 @@ ] }, "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.26.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.26.0.tgz", - "integrity": "sha512-D4CxkazFKBfN1akAIY6ieyOqzoOoBV1OICxgUblWxff/pSjCA2khXlASUx7mK6W1oP4McqhgcCsu6QaLj3WMWg==", + "version": "4.27.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.27.3.tgz", + "integrity": "sha512-ecE36ZBMLINqiTtSNQ1vzWc5pXLQHlf/oqGp/bSbi7iedcjcNb6QbCBNG73Euyy2C+l/fn8qKWEwxr+0SSfs3w==", "cpu": [ "ia32" ], @@ -2323,9 +2323,9 @@ ] }, "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.26.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.26.0.tgz", - "integrity": "sha512-2x8MO1rm4PGEP0xWbubJW5RtbNLk3puzAMaLQd3B3JHVw4KcHlmXcO+Wewx9zCoo7EUFiMlu/aZbCJ7VjMzAag==", + "version": "4.27.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.27.3.tgz", + "integrity": "sha512-vliZLrDmYKyaUoMzEbMTg2JkerfBjn03KmAw9CykO0Zzkzoyd7o3iZNam/TpyWNjNT+Cz2iO3P9Smv2wgrR+Eg==", "cpu": [ "x64" ], @@ -2336,44 +2336,44 @@ ] }, "node_modules/@shikijs/core": { - "version": "1.22.2", - "resolved": "https://registry.npmjs.org/@shikijs/core/-/core-1.22.2.tgz", - "integrity": "sha512-bvIQcd8BEeR1yFvOYv6HDiyta2FFVePbzeowf5pPS1avczrPK+cjmaxxh0nx5QzbON7+Sv0sQfQVciO7bN72sg==", + "version": "1.23.1", + "resolved": "https://registry.npmjs.org/@shikijs/core/-/core-1.23.1.tgz", + "integrity": "sha512-NuOVgwcHgVC6jBVH5V7iblziw6iQbWWHrj5IlZI3Fqu2yx9awH7OIQkXIcsHsUmY19ckwSgUMgrqExEyP5A0TA==", "license": "MIT", "dependencies": { - "@shikijs/engine-javascript": "1.22.2", - "@shikijs/engine-oniguruma": "1.22.2", - "@shikijs/types": "1.22.2", + "@shikijs/engine-javascript": "1.23.1", + "@shikijs/engine-oniguruma": "1.23.1", + "@shikijs/types": "1.23.1", "@shikijs/vscode-textmate": "^9.3.0", "@types/hast": "^3.0.4", "hast-util-to-html": "^9.0.3" } }, "node_modules/@shikijs/engine-javascript": { - "version": "1.22.2", - "resolved": "https://registry.npmjs.org/@shikijs/engine-javascript/-/engine-javascript-1.22.2.tgz", - "integrity": "sha512-iOvql09ql6m+3d1vtvP8fLCVCK7BQD1pJFmHIECsujB0V32BJ0Ab6hxk1ewVSMFA58FI0pR2Had9BKZdyQrxTw==", + "version": "1.23.1", + "resolved": "https://registry.npmjs.org/@shikijs/engine-javascript/-/engine-javascript-1.23.1.tgz", + "integrity": "sha512-i/LdEwT5k3FVu07SiApRFwRcSJs5QM9+tod5vYCPig1Ywi8GR30zcujbxGQFJHwYD7A5BUqagi8o5KS+LEVgBg==", "license": "MIT", "dependencies": { - "@shikijs/types": "1.22.2", + "@shikijs/types": "1.23.1", "@shikijs/vscode-textmate": "^9.3.0", - "oniguruma-to-js": "0.4.3" + "oniguruma-to-es": "0.4.1" } }, "node_modules/@shikijs/engine-oniguruma": { - "version": "1.22.2", - "resolved": "https://registry.npmjs.org/@shikijs/engine-oniguruma/-/engine-oniguruma-1.22.2.tgz", - "integrity": "sha512-GIZPAGzQOy56mGvWMoZRPggn0dTlBf1gutV5TdceLCZlFNqWmuc7u+CzD0Gd9vQUTgLbrt0KLzz6FNprqYAxlA==", + "version": "1.23.1", + "resolved": "https://registry.npmjs.org/@shikijs/engine-oniguruma/-/engine-oniguruma-1.23.1.tgz", + "integrity": "sha512-KQ+lgeJJ5m2ISbUZudLR1qHeH3MnSs2mjFg7bnencgs5jDVPeJ2NVDJ3N5ZHbcTsOIh0qIueyAJnwg7lg7kwXQ==", "license": "MIT", "dependencies": { - "@shikijs/types": "1.22.2", + "@shikijs/types": "1.23.1", "@shikijs/vscode-textmate": "^9.3.0" } }, "node_modules/@shikijs/types": { - "version": "1.22.2", - "resolved": "https://registry.npmjs.org/@shikijs/types/-/types-1.22.2.tgz", - "integrity": "sha512-NCWDa6LGZqTuzjsGfXOBWfjS/fDIbDdmVDug+7ykVe1IKT4c1gakrvlfFYp5NhAXH/lyqLM8wsAPo5wNy73Feg==", + "version": "1.23.1", + "resolved": "https://registry.npmjs.org/@shikijs/types/-/types-1.23.1.tgz", + "integrity": "sha512-98A5hGyEhzzAgQh2dAeHKrWW4HfCMeoFER2z16p5eJ+vmPeF6lZ/elEne6/UCU551F/WqkopqRsr1l2Yu6+A0g==", "license": "MIT", "dependencies": { "@shikijs/vscode-textmate": "^9.3.0", @@ -2520,9 +2520,9 @@ } }, "node_modules/@types/node": { - "version": "22.9.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.9.0.tgz", - "integrity": "sha512-vuyHg81vvWA1Z1ELfvLko2c8f34gyA0zaic0+Rllc5lbCnbSyuvb2Oxpm6TAUAC/2xZN3QGqxBNggD1nNR2AfQ==", + "version": "22.9.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.9.1.tgz", + "integrity": "sha512-p8Yy/8sw1caA8CdRIQBG5tiLHmxtQKObCijiAa9Ez+d4+PRffM4054xbju0msf+cvhJpnFEeNjxmVT/0ipktrg==", "devOptional": true, "license": "MIT", "dependencies": { @@ -2889,9 +2889,9 @@ } }, "node_modules/astro": { - "version": "4.16.12", - "resolved": "https://registry.npmjs.org/astro/-/astro-4.16.12.tgz", - "integrity": "sha512-NnFeIKhGW6MdXCQT2hRariUwfxqJUIRs6qKqaovaQkTojzxh2r1L8C49qanKc+huH9wK2C94VZB2T/tosyRl1A==", + "version": "4.16.13", + "resolved": "https://registry.npmjs.org/astro/-/astro-4.16.13.tgz", + "integrity": "sha512-Mtd76+BC0zLWqoXpf9xc731AhdH4MNh5JFHYdLRvSH0Nqn48hA64dPGh/cWsJvh/DZFmC0NTZusM1Qq2gyNaVg==", "license": "MIT", "dependencies": { "@astrojs/compiler": "^2.10.3", @@ -3611,9 +3611,9 @@ } }, "node_modules/cross-spawn": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.5.tgz", - "integrity": "sha512-ZVJrKKYunU38/76t0RMOulHOnUcbU9GbpWKAOZ0mhjr7CX6FVrH+4FrAapSOekrgFQ3f/8gwMEuIft0aKq6Hug==", + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", "dev": true, "license": "MIT", "dependencies": { @@ -3755,9 +3755,9 @@ "license": "MIT" }, "node_modules/drizzle-orm": { - "version": "0.36.2", - "resolved": "https://registry.npmjs.org/drizzle-orm/-/drizzle-orm-0.36.2.tgz", - "integrity": "sha512-uVwIdQMo+zwI09hCSNVR29tYn4Vw6F7gga/CsZgDJmTSGDdUdLo+Ur45Qc3gDK7oFTxD/eRANNnPgvPmRY+jSA==", + "version": "0.36.3", + "resolved": "https://registry.npmjs.org/drizzle-orm/-/drizzle-orm-0.36.3.tgz", + "integrity": "sha512-ffQB7CcyCTvQBK6xtRLMl/Jsd5xFTBs+UTHrgs1hbk68i5TPkbsoCPbKEwiEsQZfq2I7VH632XJpV1g7LS2H9Q==", "license": "Apache-2.0", "peerDependencies": { "@aws-sdk/client-rds-data": ">=3", @@ -3896,9 +3896,9 @@ "license": "MIT" }, "node_modules/electron-to-chromium": { - "version": "1.5.59", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.59.tgz", - "integrity": "sha512-faAXB6+gEbC8FsiRdpOXgOe4snP49YwjiXynEB8Mp7sUx80W5eN+BnnBHJ/F7eIeLzs+QBfDD40bJMm97oEFcw==", + "version": "1.5.63", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.63.tgz", + "integrity": "sha512-ddeXKuY9BHo/mw145axlyWjlJ1UBt4WK3AlvkT7W2AbqfRQoacVoRUCF6wL3uIx/8wT9oLKXzI+rFqHHscByaA==", "license": "ISC" }, "node_modules/emmet": { @@ -3924,6 +3924,12 @@ "integrity": "sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==", "license": "MIT" }, + "node_modules/emoji-regex-xs": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex-xs/-/emoji-regex-xs-1.0.0.tgz", + "integrity": "sha512-LRlerrMYoIDrT6jgpeZ2YYl/L8EulRTt5hQcYjy5AInh7HWXKimpqx68aknBFpGL2+/IcogTcaydJEgaTmOpDg==", + "license": "MIT" + }, "node_modules/entities": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", @@ -4561,15 +4567,15 @@ } }, "node_modules/hast-util-from-parse5": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-8.0.1.tgz", - "integrity": "sha512-Er/Iixbc7IEa7r/XLtuG52zoqn/b3Xng/w6aZQ0xGVxzhw5xUFxcRqdPzP6yFi/4HBYRaifaI5fQ1RH8n0ZeOQ==", + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-8.0.2.tgz", + "integrity": "sha512-SfMzfdAi/zAoZ1KkFEyyeXBn7u/ShQrfd675ZEE9M3qj+PMFX05xubzRyF76CCSJu8au9jgVxDV1+okFvgZU4A==", "license": "MIT", "dependencies": { "@types/hast": "^3.0.0", "@types/unist": "^3.0.0", "devlop": "^1.0.0", - "hastscript": "^8.0.0", + "hastscript": "^9.0.0", "property-information": "^6.0.0", "vfile": "^6.0.0", "vfile-location": "^5.0.0", @@ -4801,9 +4807,9 @@ } }, "node_modules/hastscript": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-8.0.0.tgz", - "integrity": "sha512-dMOtzCEd3ABUeSIISmrETiKuyydk1w0pa+gE/uormcTpSYuaNJPbX1NU3JLyscSLjwAQM8bWMhhIlnCqnRvDTw==", + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-9.0.0.tgz", + "integrity": "sha512-jzaLBGavEDKHrc5EfFImKN7nZKKBdSLIdGvCwDZ9TfzbF2ffXiov8CKE445L2Z1Ek2t/m4SKQ2j6Ipv7NyUolw==", "license": "MIT", "dependencies": { "@types/hast": "^3.0.0", @@ -5290,9 +5296,9 @@ } }, "node_modules/magic-string": { - "version": "0.30.12", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.12.tgz", - "integrity": "sha512-Ea8I3sQMVXr8JhN4z+H/d8zwo+tYDgHE9+5G4Wnrwhs0gaK9fXTKx0Tw5Xwsd/bCPTTZNRAdpyzvoeORe9LYpw==", + "version": "0.30.13", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.13.tgz", + "integrity": "sha512-8rYBO+MsWkgjDSOvLomYnzhdwEG51olQ4zL5KXnNJWV5MNmrb4rTZdrtkhxjnD/QyZUqR/Z/XDsUs/4ej2nx0g==", "license": "MIT", "dependencies": { "@jridgewell/sourcemap-codec": "^1.5.0" @@ -5356,9 +5362,9 @@ } }, "node_modules/marked": { - "version": "15.0.0", - "resolved": "https://registry.npmjs.org/marked/-/marked-15.0.0.tgz", - "integrity": "sha512-0mouKmBROJv/WSHJBPZZyYofUgawMChnD5je/g+aOBXsHDjb/IsnTQj7mnhQZu+qPJmRQ0ecX3mLGEUm3BgwYA==", + "version": "15.0.1", + "resolved": "https://registry.npmjs.org/marked/-/marked-15.0.1.tgz", + "integrity": "sha512-VnnE19XO2Vb2oZeH8quAepfrb6Aaz4OoY8yZQACfuy/5KVJ0GxYC0Qxzz/iuc+g5UF7H0HJ+QROfvH26XeBdDA==", "license": "MIT", "bin": { "marked": "bin/marked.js" @@ -6344,9 +6350,9 @@ } }, "node_modules/micromark-util-subtokenize": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-2.0.2.tgz", - "integrity": "sha512-xKxhkB62vwHUuuxHe9Xqty3UaAsizV2YKq5OV344u3hFBbf8zIYrhYOWhAQb94MtMPkjTOzzjJ/hid9/dR5vFA==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-2.0.3.tgz", + "integrity": "sha512-VXJJuNxYWSoYL6AJ6OQECCFGhIU2GGHMw8tahogePBrjkG8aCCas3ibkp7RnVOSTClg2is05/R7maAhF1XyQMg==", "funding": [ { "type": "GitHub Sponsors", @@ -6585,9 +6591,9 @@ } }, "node_modules/node-gyp-build": { - "version": "4.8.3", - "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.8.3.tgz", - "integrity": "sha512-EMS95CMJzdoSKoIiXo8pxKoL8DYxwIZXYlLmgPb8KUv794abpnLK6ynsCAWNliOjREKruYKdzbh76HHYUHX7nw==", + "version": "4.8.4", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.8.4.tgz", + "integrity": "sha512-LA4ZjwlnUblHVgq0oBF3Jl/6h/Nvs5fzBLwdEF4nuxnFdsfajde4WfxtJr3CaiH+F6ewcIB/q4jQ4UzPyid+CQ==", "license": "MIT", "bin": { "node-gyp-build": "bin.js", @@ -6682,16 +6688,15 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/oniguruma-to-js": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/oniguruma-to-js/-/oniguruma-to-js-0.4.3.tgz", - "integrity": "sha512-X0jWUcAlxORhOqqBREgPMgnshB7ZGYszBNspP+tS9hPD3l13CdaXcHbgImoHUHlrvGx/7AvFEkTRhAGYh+jzjQ==", + "node_modules/oniguruma-to-es": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/oniguruma-to-es/-/oniguruma-to-es-0.4.1.tgz", + "integrity": "sha512-rNcEohFz095QKGRovP/yqPIKc+nP+Sjs4YTHMv33nMePGKrq/r2eu9Yh4646M5XluGJsUnmwoXuiXE69KDs+fQ==", "license": "MIT", "dependencies": { - "regex": "^4.3.2" - }, - "funding": { - "url": "https://github.com/sponsors/antfu" + "emoji-regex-xs": "^1.0.0", + "regex": "^5.0.0", + "regex-recursion": "^4.2.1" } }, "node_modules/opendal": { @@ -7494,9 +7499,27 @@ } }, "node_modules/regex": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/regex/-/regex-4.4.0.tgz", - "integrity": "sha512-uCUSuobNVeqUupowbdZub6ggI5/JZkYyJdDogddJr60L764oxC2pMZov1fQ3wM9bdyzUILDG+Sqx6NAKAz9rKQ==", + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/regex/-/regex-5.0.2.tgz", + "integrity": "sha512-/pczGbKIQgfTMRV0XjABvc5RzLqQmwqxLHdQao2RTXPk+pmTXB2P0IaUHYdYyk412YLwUIkaeMd5T+RzVgTqnQ==", + "license": "MIT", + "dependencies": { + "regex-utilities": "^2.3.0" + } + }, + "node_modules/regex-recursion": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/regex-recursion/-/regex-recursion-4.2.1.tgz", + "integrity": "sha512-QHNZyZAeKdndD1G3bKAbBEKOSSK4KOHQrAJ01N1LJeb0SoH4DJIeFhp0uUpETgONifS4+P3sOgoA1dhzgrQvhA==", + "license": "MIT", + "dependencies": { + "regex-utilities": "^2.3.0" + } + }, + "node_modules/regex-utilities": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/regex-utilities/-/regex-utilities-2.3.0.tgz", + "integrity": "sha512-8VhliFJAWRaUiVvREIiW2NXXTmHs4vMNnSzuJVhscgmGav3g9VDxLrQndI3dZZVVdp0ZO/5v0xmX516/7M9cng==", "license": "MIT" }, "node_modules/rehype": { @@ -7991,9 +8014,9 @@ } }, "node_modules/rollup": { - "version": "4.26.0", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.26.0.tgz", - "integrity": "sha512-ilcl12hnWonG8f+NxU6BlgysVA0gvY2l8N0R84S1HcINbW20bvwuCngJkkInV6LXhwRpucsW5k1ovDwEdBVrNg==", + "version": "4.27.3", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.27.3.tgz", + "integrity": "sha512-SLsCOnlmGt9VoZ9Ek8yBK8tAdmPHeppkw+Xa7yDlCEhDTvwYei03JlWo1fdc7YTfLZ4tD8riJCUyAgTbszk1fQ==", "license": "MIT", "dependencies": { "@types/estree": "1.0.6" @@ -8006,24 +8029,24 @@ "npm": ">=8.0.0" }, "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.26.0", - "@rollup/rollup-android-arm64": "4.26.0", - "@rollup/rollup-darwin-arm64": "4.26.0", - "@rollup/rollup-darwin-x64": "4.26.0", - "@rollup/rollup-freebsd-arm64": "4.26.0", - "@rollup/rollup-freebsd-x64": "4.26.0", - "@rollup/rollup-linux-arm-gnueabihf": "4.26.0", - "@rollup/rollup-linux-arm-musleabihf": "4.26.0", - "@rollup/rollup-linux-arm64-gnu": "4.26.0", - "@rollup/rollup-linux-arm64-musl": "4.26.0", - "@rollup/rollup-linux-powerpc64le-gnu": "4.26.0", - "@rollup/rollup-linux-riscv64-gnu": "4.26.0", - "@rollup/rollup-linux-s390x-gnu": "4.26.0", - "@rollup/rollup-linux-x64-gnu": "4.26.0", - "@rollup/rollup-linux-x64-musl": "4.26.0", - "@rollup/rollup-win32-arm64-msvc": "4.26.0", - "@rollup/rollup-win32-ia32-msvc": "4.26.0", - "@rollup/rollup-win32-x64-msvc": "4.26.0", + "@rollup/rollup-android-arm-eabi": "4.27.3", + "@rollup/rollup-android-arm64": "4.27.3", + "@rollup/rollup-darwin-arm64": "4.27.3", + "@rollup/rollup-darwin-x64": "4.27.3", + "@rollup/rollup-freebsd-arm64": "4.27.3", + "@rollup/rollup-freebsd-x64": "4.27.3", + "@rollup/rollup-linux-arm-gnueabihf": "4.27.3", + "@rollup/rollup-linux-arm-musleabihf": "4.27.3", + "@rollup/rollup-linux-arm64-gnu": "4.27.3", + "@rollup/rollup-linux-arm64-musl": "4.27.3", + "@rollup/rollup-linux-powerpc64le-gnu": "4.27.3", + "@rollup/rollup-linux-riscv64-gnu": "4.27.3", + "@rollup/rollup-linux-s390x-gnu": "4.27.3", + "@rollup/rollup-linux-x64-gnu": "4.27.3", + "@rollup/rollup-linux-x64-musl": "4.27.3", + "@rollup/rollup-win32-arm64-msvc": "4.27.3", + "@rollup/rollup-win32-ia32-msvc": "4.27.3", + "@rollup/rollup-win32-x64-msvc": "4.27.3", "fsevents": "~2.3.2" } }, @@ -8188,15 +8211,15 @@ } }, "node_modules/shiki": { - "version": "1.22.2", - "resolved": "https://registry.npmjs.org/shiki/-/shiki-1.22.2.tgz", - "integrity": "sha512-3IZau0NdGKXhH2bBlUk4w1IHNxPh6A5B2sUpyY+8utLu2j/h1QpFkAaUA1bAMxOWWGtTWcAh531vnS4NJKS/lA==", + "version": "1.23.1", + "resolved": "https://registry.npmjs.org/shiki/-/shiki-1.23.1.tgz", + "integrity": "sha512-8kxV9TH4pXgdKGxNOkrSMydn1Xf6It8lsle0fiqxf7a1149K1WGtdOu3Zb91T5r1JpvRPxqxU3C2XdZZXQnrig==", "license": "MIT", "dependencies": { - "@shikijs/core": "1.22.2", - "@shikijs/engine-javascript": "1.22.2", - "@shikijs/engine-oniguruma": "1.22.2", - "@shikijs/types": "1.22.2", + "@shikijs/core": "1.23.1", + "@shikijs/engine-javascript": "1.23.1", + "@shikijs/engine-oniguruma": "1.23.1", + "@shikijs/types": "1.23.1", "@shikijs/vscode-textmate": "^9.3.0", "@types/hast": "^3.0.4" } @@ -8540,9 +8563,9 @@ "optional": true }, "node_modules/type-fest": { - "version": "4.26.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.26.1.tgz", - "integrity": "sha512-yOGpmOAL7CkKe/91I5O3gPICmJNLJ1G4zFYVAsRHg7M64biSnPtRj0WNQt++bRkjYOqjWXrhnUw1utzmVErAdg==", + "version": "4.27.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.27.0.tgz", + "integrity": "sha512-3IMSWgP7C5KSQqmo1wjhKrwsvXAtF33jO3QY+Uy++ia7hqvgSK6iXbbg5PbDBc1P2ZbNEDgejOrN4YooXvhwCw==", "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=16" @@ -9407,9 +9430,9 @@ } }, "node_modules/xxhash-wasm": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/xxhash-wasm/-/xxhash-wasm-1.0.2.tgz", - "integrity": "sha512-ibF0Or+FivM9lNrg+HGJfVX8WJqgo+kCLDc4vx6xMeTce7Aj+DLttKbxxRR/gNLSAelRc1omAPlJ77N/Jem07A==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/xxhash-wasm/-/xxhash-wasm-1.1.0.tgz", + "integrity": "sha512-147y/6YNh+tlp6nd/2pWq38i9h6mz/EuQ6njIrmW8D1BS5nCqs0P6DG+m6zTGnNz5I+uhZ0SHxBs9BsPrwcKDA==", "license": "MIT" }, "node_modules/y18n": { @@ -9429,9 +9452,9 @@ "license": "ISC" }, "node_modules/yaml": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.6.0.tgz", - "integrity": "sha512-a6ae//JvKDEra2kdi1qzCyrJW/WZCgFi8ydDV+eXExl95t+5R+ijnqHJbz9tmMh8FUjx3iv2fCQ4dclAQlO2UQ==", + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.6.1.tgz", + "integrity": "sha512-7r0XPzioN/Q9kXBro/XPnA6kznR73DHq+GXh5ON7ZozRO6aMjbmiBuKste2wslTFkC5d1dw0GooOCepZXJ2SAg==", "dev": true, "license": "ISC", "bin": { diff --git a/package.json b/package.json index 36f52eb..69dfa90 100644 --- a/package.json +++ b/package.json @@ -45,12 +45,12 @@ "@astrojs/mdx": "^3.1.9", "@astrojs/rss": "^4.0.9", "@zeabur/astro-adapter": "^1.0.6", - "astro": "^4.16.12", - "drizzle-orm": "^0.36.2", + "astro": "^4.16.13", + "drizzle-orm": "^0.36.3", "fuse.js": "^7.0.0", "lodash": "^4.17.21", "luxon": "^3.5.0", - "marked": "^15.0.0", + "marked": "^15.0.1", "pg": "^8.13.1", "qrcode-svg": "^1.1.0", "ultrahtml": "^1.5.3" @@ -58,10 +58,10 @@ "devDependencies": { "@astrojs/check": "^0.9.4", "@biomejs/biome": "^1.9.4", - "@napi-rs/canvas": "^0.1.61", + "@napi-rs/canvas": "^0.1.62", "@types/lodash": "^4.17.13", "@types/luxon": "^3.4.2", - "@types/node": "^22.9.0", + "@types/node": "^22.9.1", "@types/pg": "^8.11.10", "@types/qrcode-svg": "^1.1.5", "@types/unist": "^3.0.3", diff --git a/public/images/links/jiangcl.com.jpg b/public/images/links/jiangcl.com.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9935c25213b43cc9916b064a303686f4e1588308 GIT binary patch literal 37291 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 literal 0 HcmV?d00001 diff --git a/src/content/friends/index.yml b/src/content/friends/index.yml index f96fa23..fe45cd6 100644 --- a/src/content/friends/index.yml +++ b/src/content/friends/index.yml @@ -68,3 +68,7 @@ description: 在这里可以看到一个真实的我,我会在这里书写我的一切 homepage: https://bxaw.name poster: /images/links/blog.bxaw.name.jpg +- website: 蒙需 + description: 我的朋友圈 + homepage: https://jiangcl.com + poster: /images/links/jiangcl.com.jpg