diff --git a/docs/package.json b/docs/package.json
index c995429a..d6fc1e20 100644
--- a/docs/package.json
+++ b/docs/package.json
@@ -12,15 +12,15 @@
},
"dependencies": {
"@astrojs/check": "^0.7.0",
- "@astrojs/starlight": "^0.22.4",
- "@astrojs/starlight-tailwind": "^2.0.2",
+ "@astrojs/starlight": "^0.24.0",
+ "@astrojs/starlight-tailwind": "^2.0.3",
"@astrojs/tailwind": "^5.1.0",
"@fontsource/inter": "^5.0.18",
"@fontsource/rubik": "^5.0.20",
- "astro": "^4.8.6",
+ "astro": "^4.10.1",
"autoprefixer": "^10.4.19",
- "cssnano": "^7.0.1",
- "postcss-preset-env": "^9.5.13",
+ "cssnano": "^7.0.2",
+ "postcss-preset-env": "^9.5.14",
"sharp": "^0.33.4",
"tailwindcss": "^3.4.3",
"typescript": "^5.4.5"
diff --git a/docs/pnpm-lock.yaml b/docs/pnpm-lock.yaml
index 2f88765a..c59d5294 100644
--- a/docs/pnpm-lock.yaml
+++ b/docs/pnpm-lock.yaml
@@ -11,14 +11,14 @@ importers:
specifier: ^0.7.0
version: 0.7.0(typescript@5.4.5)
"@astrojs/starlight":
- specifier: ^0.22.4
- version: 0.22.4(astro@4.8.6(typescript@5.4.5))
+ specifier: ^0.24.0
+ version: 0.24.0(astro@4.10.1(typescript@5.4.5))
"@astrojs/starlight-tailwind":
- specifier: ^2.0.2
- version: 2.0.2(@astrojs/starlight@0.22.4(astro@4.8.6(typescript@5.4.5)))(@astrojs/tailwind@5.1.0(astro@4.8.6(typescript@5.4.5))(tailwindcss@3.4.3))(tailwindcss@3.4.3)
+ specifier: ^2.0.3
+ version: 2.0.3(@astrojs/starlight@0.24.0(astro@4.10.1(typescript@5.4.5)))(@astrojs/tailwind@5.1.0(astro@4.10.1(typescript@5.4.5))(tailwindcss@3.4.3))(tailwindcss@3.4.3)
"@astrojs/tailwind":
specifier: ^5.1.0
- version: 5.1.0(astro@4.8.6(typescript@5.4.5))(tailwindcss@3.4.3)
+ version: 5.1.0(astro@4.10.1(typescript@5.4.5))(tailwindcss@3.4.3)
"@fontsource/inter":
specifier: ^5.0.18
version: 5.0.18
@@ -26,17 +26,17 @@ importers:
specifier: ^5.0.20
version: 5.0.20
astro:
- specifier: ^4.8.6
- version: 4.8.6(typescript@5.4.5)
+ specifier: ^4.10.1
+ version: 4.10.1(typescript@5.4.5)
autoprefixer:
specifier: ^10.4.19
version: 10.4.19(postcss@8.4.33)
cssnano:
- specifier: ^7.0.1
- version: 7.0.1(postcss@8.4.33)
+ specifier: ^7.0.2
+ version: 7.0.2(postcss@8.4.33)
postcss-preset-env:
- specifier: ^9.5.13
- version: 9.5.13(postcss@8.4.33)
+ specifier: ^9.5.14
+ version: 9.5.14(postcss@8.4.33)
sharp:
specifier: ^0.33.4
version: 0.33.4
@@ -104,14 +104,14 @@ packages:
integrity: sha512-S6Z3K2hOB7MfjeDoHsotnP/q2UsnEDB8NlNAaCjMDsGBZfTUbWxyLW3CaphEWw08f6KLZi2ibK9yC3BaMhh2NQ==,
}
- "@astrojs/mdx@2.3.1":
+ "@astrojs/mdx@3.1.0":
resolution:
{
- integrity: sha512-BOQFKD2Pi9cRntNQJlpF2fh4xV8doNpmVy9NKI95r4jsitrY4X5aTOhAowi+fkQgP/zW1A4HwCyQ6Pdam6z8zQ==,
+ integrity: sha512-yuGDaOcCAfYgLQvUAlJDezYGK4twHlzW1Kvpyg3inxtDJuAsHdyVyYLWl0Wo5nwkyrbZktdrjnoW5scqzoAqAg==,
}
engines: { node: ^18.17.1 || ^20.3.0 || >=21.0.0 }
peerDependencies:
- astro: ^4.0.0
+ astro: ^4.8.0
"@astrojs/prism@3.1.0":
resolution:
@@ -126,23 +126,23 @@ packages:
integrity: sha512-60eLzNjMza3ABypiQPUC6ElOSZNZeY5CwSwgJ03hfeonl+Db9x12CCzBFdTw7A5Mq+O54xEZVUrR0tB+yWgX8w==,
}
- "@astrojs/starlight-tailwind@2.0.2":
+ "@astrojs/starlight-tailwind@2.0.3":
resolution:
{
- integrity: sha512-XJccwk6VLeQZuGQwoiLZLNAPCn2fQobtl10Ra2c2yDLjdYEActcqy0eidZbouAwGlbS9I0iJogeGjHQJ2Casjg==,
+ integrity: sha512-ZwbdXS/9rxYlo3tKZoTZoBPUnaaqek02b341dHwOkmMT0lIR2w+8k0mRUGxnRaYtPdMcaL+nYFd8RUa8sjdyRg==,
}
peerDependencies:
"@astrojs/starlight": ">=0.9.0"
"@astrojs/tailwind": ^5.0.0
tailwindcss: ^3.3.3
- "@astrojs/starlight@0.22.4":
+ "@astrojs/starlight@0.24.0":
resolution:
{
- integrity: sha512-AgiVEVv2ZkGHkoJcjY0azXG2K7892i+z4FpKtasnESTciomO91I/X9vAfKfHxmTxdVP5BGPxBFVi0Bp2X4Lxvg==,
+ integrity: sha512-YUBf7TgDUMRcyoZ8S8hlnPuEvgqFuB5F7tQUwPK5GwkTC1E+gMW8zx9J/RgJAXNjQSi19s73nuF19zw/QSy5tw==,
}
peerDependencies:
- astro: ^4.2.7
+ astro: ^4.8.6
"@astrojs/tailwind@5.1.0":
resolution:
@@ -160,199 +160,185 @@ packages:
}
engines: { node: ^18.17.1 || ^20.3.0 || >=21.0.0 }
- "@babel/code-frame@7.24.2":
+ "@babel/code-frame@7.24.7":
resolution:
{
- integrity: sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==,
+ integrity: sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==,
}
engines: { node: ">=6.9.0" }
- "@babel/compat-data@7.24.4":
+ "@babel/compat-data@7.24.7":
resolution:
{
- integrity: sha512-vg8Gih2MLK+kOkHJp4gBEIkyaIi00jgWot2D9QOmmfLC8jINSOzmCLta6Bvz/JSBCqnegV0L80jhxkol5GWNfQ==,
+ integrity: sha512-qJzAIcv03PyaWqxRgO4mSU3lihncDT296vnyuE2O8uA4w3UHWI4S3hgeZd1L8W1Bft40w9JxJ2b412iDUFFRhw==,
}
engines: { node: ">=6.9.0" }
- "@babel/core@7.24.5":
+ "@babel/core@7.24.7":
resolution:
{
- integrity: sha512-tVQRucExLQ02Boi4vdPp49svNGcfL2GhdTCT9aldhXgCJVAI21EtRfBettiuLUwce/7r6bFdgs6JFkcdTiFttA==,
+ integrity: sha512-nykK+LEK86ahTkX/3TgauT0ikKoNCfKHEaZYTUVupJdTLzGNvrblu4u6fa7DhZONAltdf8e662t/abY8idrd/g==,
}
engines: { node: ">=6.9.0" }
- "@babel/generator@7.24.5":
+ "@babel/generator@7.24.7":
resolution:
{
- integrity: sha512-x32i4hEXvr+iI0NEoEfDKzlemF8AmtOP8CcrRaEcpzysWuoEb1KknpcvMsHKPONoKZiDuItklgWhB18xEhr9PA==,
+ integrity: sha512-oipXieGC3i45Y1A41t4tAqpnEZWgB/lC6Ehh6+rOviR5XWpTtMmLN+fGjz9vOiNRt0p6RtO6DtD0pdU3vpqdSA==,
}
engines: { node: ">=6.9.0" }
- "@babel/helper-annotate-as-pure@7.22.5":
+ "@babel/helper-annotate-as-pure@7.24.7":
resolution:
{
- integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==,
+ integrity: sha512-BaDeOonYvhdKw+JoMVkAixAAJzG2jVPIwWoKBPdYuY9b452e2rPuI9QPYh3KpofZ3pW2akOmwZLOiOsHMiqRAg==,
}
engines: { node: ">=6.9.0" }
- "@babel/helper-compilation-targets@7.23.6":
+ "@babel/helper-compilation-targets@7.24.7":
resolution:
{
- integrity: sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==,
+ integrity: sha512-ctSdRHBi20qWOfy27RUb4Fhp07KSJ3sXcuSvTrXrc4aG8NSYDo1ici3Vhg9bg69y5bj0Mr1lh0aeEgTvc12rMg==,
}
engines: { node: ">=6.9.0" }
- "@babel/helper-environment-visitor@7.22.20":
+ "@babel/helper-environment-visitor@7.24.7":
resolution:
{
- integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==,
+ integrity: sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ==,
}
engines: { node: ">=6.9.0" }
- "@babel/helper-function-name@7.23.0":
+ "@babel/helper-function-name@7.24.7":
resolution:
{
- integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==,
+ integrity: sha512-FyoJTsj/PEUWu1/TYRiXTIHc8lbw+TDYkZuoE43opPS5TrI7MyONBE1oNvfguEXAD9yhQRrVBnXdXzSLQl9XnA==,
}
engines: { node: ">=6.9.0" }
- "@babel/helper-hoist-variables@7.22.5":
+ "@babel/helper-hoist-variables@7.24.7":
resolution:
{
- integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==,
+ integrity: sha512-MJJwhkoGy5c4ehfoRyrJ/owKeMl19U54h27YYftT0o2teQ3FJ3nQUf/I3LlJsX4l3qlw7WRXUmiyajvHXoTubQ==,
}
engines: { node: ">=6.9.0" }
- "@babel/helper-module-imports@7.22.15":
+ "@babel/helper-module-imports@7.24.7":
resolution:
{
- integrity: sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==,
+ integrity: sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==,
}
engines: { node: ">=6.9.0" }
- "@babel/helper-module-imports@7.24.3":
+ "@babel/helper-module-transforms@7.24.7":
resolution:
{
- integrity: sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg==,
- }
- engines: { node: ">=6.9.0" }
-
- "@babel/helper-module-transforms@7.24.5":
- resolution:
- {
- integrity: sha512-9GxeY8c2d2mdQUP1Dye0ks3VDyIMS98kt/llQ2nUId8IsWqTF0l1LkSX0/uP7l7MCDrzXS009Hyhe2gzTiGW8A==,
+ integrity: sha512-1fuJEwIrp+97rM4RWdO+qrRsZlAeL1lQJoPqtCYWv0NL115XM93hIH4CSRln2w52SqvmY5hqdtauB6QFCDiZNQ==,
}
engines: { node: ">=6.9.0" }
peerDependencies:
"@babel/core": ^7.0.0
- "@babel/helper-plugin-utils@7.22.5":
+ "@babel/helper-plugin-utils@7.24.7":
resolution:
{
- integrity: sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==,
+ integrity: sha512-Rq76wjt7yz9AAc1KnlRKNAi/dMSVWgDRx43FHoJEbcYU6xOWaE2dVPwcdTukJrjxS65GITyfbvEYHvkirZ6uEg==,
}
engines: { node: ">=6.9.0" }
- "@babel/helper-simple-access@7.24.5":
+ "@babel/helper-simple-access@7.24.7":
resolution:
{
- integrity: sha512-uH3Hmf5q5n7n8mz7arjUlDOCbttY/DW4DYhE6FUsjKJ/oYC1kQQUvwEQWxRwUpX9qQKRXeqLwWxrqilMrf32sQ==,
+ integrity: sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==,
}
engines: { node: ">=6.9.0" }
- "@babel/helper-split-export-declaration@7.24.5":
+ "@babel/helper-split-export-declaration@7.24.7":
resolution:
{
- integrity: sha512-5CHncttXohrHk8GWOFCcCl4oRD9fKosWlIRgWm4ql9VYioKm52Mk2xsmoohvm7f3JoiLSM5ZgJuRaf5QZZYd3Q==,
+ integrity: sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA==,
}
engines: { node: ">=6.9.0" }
- "@babel/helper-string-parser@7.24.1":
+ "@babel/helper-string-parser@7.24.7":
resolution:
{
- integrity: sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ==,
+ integrity: sha512-7MbVt6xrwFQbunH2DNQsAP5sTGxfqQtErvBIvIMi6EQnbgUOuVYanvREcmFrOPhoXBrTtjhhP+lW+o5UfK+tDg==,
}
engines: { node: ">=6.9.0" }
- "@babel/helper-validator-identifier@7.24.5":
+ "@babel/helper-validator-identifier@7.24.7":
resolution:
{
- integrity: sha512-3q93SSKX2TWCG30M2G2kwaKeTYgEUp5Snjuj8qm729SObL6nbtUldAi37qbxkD5gg3xnBio+f9nqpSepGZMvxA==,
+ integrity: sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==,
}
engines: { node: ">=6.9.0" }
- "@babel/helper-validator-option@7.23.5":
+ "@babel/helper-validator-option@7.24.7":
resolution:
{
- integrity: sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==,
+ integrity: sha512-yy1/KvjhV/ZCL+SM7hBrvnZJ3ZuT9OuZgIJAGpPEToANvc3iM6iDvBnRjtElWibHU6n8/LPR/EjX9EtIEYO3pw==,
}
engines: { node: ">=6.9.0" }
- "@babel/helpers@7.24.5":
+ "@babel/helpers@7.24.7":
resolution:
{
- integrity: sha512-CiQmBMMpMQHwM5m01YnrM6imUG1ebgYJ+fAIW4FZe6m4qHTPaRHti+R8cggAwkdz4oXhtO4/K9JWlh+8hIfR2Q==,
+ integrity: sha512-NlmJJtvcw72yRJRcnCmGvSi+3jDEg8qFu3z0AFoymmzLx5ERVWyzd9kVXr7Th9/8yIJi2Zc6av4Tqz3wFs8QWg==,
}
engines: { node: ">=6.9.0" }
- "@babel/highlight@7.24.5":
+ "@babel/highlight@7.24.7":
resolution:
{
- integrity: sha512-8lLmua6AVh/8SLJRRVD6V8p73Hir9w5mJrhE+IPpILG31KKlI9iz5zmBYKcWPS59qSfgP9RaSBQSHHE81WKuEw==,
+ integrity: sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==,
}
engines: { node: ">=6.9.0" }
- "@babel/parser@7.24.5":
+ "@babel/parser@7.24.7":
resolution:
{
- integrity: sha512-EOv5IK8arwh3LI47dz1b0tKUb/1uhHAnHJOrjgtQMIpu1uXd9mlFrJg9IUgGUgZ41Ch0K8REPTYpO7B76b4vJg==,
+ integrity: sha512-9uUYRm6OqQrCqQdG1iCBwBPZgN8ciDBro2nIOFaiRz1/BCxaI7CNvQbDHvsArAC7Tw9Hda/B3U+6ui9u4HWXPw==,
}
engines: { node: ">=6.0.0" }
hasBin: true
- "@babel/plugin-syntax-jsx@7.23.3":
+ "@babel/plugin-syntax-jsx@7.24.7":
resolution:
{
- integrity: sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==,
+ integrity: sha512-6ddciUPe/mpMnOKv/U+RSd2vvVy+Yw/JfBB0ZHYjEZt9NLHmCUylNYlsbqCCS1Bffjlb0fCwC9Vqz+sBz6PsiQ==,
}
engines: { node: ">=6.9.0" }
peerDependencies:
"@babel/core": ^7.0.0-0
- "@babel/plugin-transform-react-jsx@7.23.4":
+ "@babel/plugin-transform-react-jsx@7.24.7":
resolution:
{
- integrity: sha512-5xOpoPguCZCRbo/JeHlloSkTA8Bld1J/E1/kLfD1nsuiW1m8tduTA1ERCgIZokDflX/IBzKcqR3l7VlRgiIfHA==,
+ integrity: sha512-+Dj06GDZEFRYvclU6k4bme55GKBEWUmByM/eoKuqg4zTNQHiApWRhQph5fxQB2wAEFvRzL1tOEj1RJ19wJrhoA==,
}
engines: { node: ">=6.9.0" }
peerDependencies:
"@babel/core": ^7.0.0-0
- "@babel/template@7.22.15":
+ "@babel/template@7.24.7":
resolution:
{
- integrity: sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==,
+ integrity: sha512-jYqfPrU9JTF0PmPy1tLYHW4Mp4KlgxJD9l2nP9fD6yT/ICi554DmrWBAEYpIelzjHf1msDP3PxJIRt/nFNfBig==,
}
engines: { node: ">=6.9.0" }
- "@babel/template@7.24.0":
+ "@babel/traverse@7.24.7":
resolution:
{
- integrity: sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==,
+ integrity: sha512-yb65Ed5S/QAcewNPh0nZczy9JdYXkkAbIsEo+P7BE7yO3txAY30Y/oPa3QkQ5It3xVG2kpKMg9MsdxZaO31uKA==,
}
engines: { node: ">=6.9.0" }
- "@babel/traverse@7.24.5":
+ "@babel/types@7.24.7":
resolution:
{
- integrity: sha512-7aaBLeDQ4zYcUFDUD41lJc1fG8+5IU9DaNSJAgal866FGvmD5EbWQgnEC6kO1gGLsX0esNkfnJSndbTXA3r7UA==,
- }
- engines: { node: ">=6.9.0" }
-
- "@babel/types@7.24.5":
- resolution:
- {
- integrity: sha512-6mQNsaLeXTw0nxYUYu+NSa4Hx4BlF1x1x8/PMFbiR+GBSr+2DkECc69b8hgy2frEodNcvPffeH8YfWd3LI6jhQ==,
+ integrity: sha512-XEFXSlxiG5td2EJRe8vOmRbaXVgfcBlszKujvVmWIK/UpywWljQCfzAv3RQCGujWQ1RD4YYWEAqDXfuJiy8f5Q==,
}
engines: { node: ">=6.9.0" }
@@ -771,10 +757,10 @@ packages:
cpu: [ppc64]
os: [aix]
- "@esbuild/aix-ppc64@0.21.3":
+ "@esbuild/aix-ppc64@0.21.4":
resolution:
{
- integrity: sha512-yTgnwQpFVYfvvo4SvRFB0SwrW8YjOxEoT7wfMT7Ol5v7v5LDNvSGo67aExmxOb87nQNeWPVvaGBNfQ7BXcrZ9w==,
+ integrity: sha512-Zrm+B33R4LWPLjDEVnEqt2+SLTATlru1q/xYKVn8oVTbiRBGmK2VIMoIYGJDGyftnGaC788IuzGFAlb7IQ0Y8A==,
}
engines: { node: ">=12" }
cpu: [ppc64]
@@ -789,10 +775,10 @@ packages:
cpu: [arm64]
os: [android]
- "@esbuild/android-arm64@0.21.3":
+ "@esbuild/android-arm64@0.21.4":
resolution:
{
- integrity: sha512-c+ty9necz3zB1Y+d/N+mC6KVVkGUUOcm4ZmT5i/Fk5arOaY3i6CA3P5wo/7+XzV8cb4GrI/Zjp8NuOQ9Lfsosw==,
+ integrity: sha512-fYFnz+ObClJ3dNiITySBUx+oNalYUT18/AryMxfovLkYWbutXsct3Wz2ZWAcGGppp+RVVX5FiXeLYGi97umisA==,
}
engines: { node: ">=12" }
cpu: [arm64]
@@ -807,10 +793,10 @@ packages:
cpu: [arm]
os: [android]
- "@esbuild/android-arm@0.21.3":
+ "@esbuild/android-arm@0.21.4":
resolution:
{
- integrity: sha512-bviJOLMgurLJtF1/mAoJLxDZDL6oU5/ztMHnJQRejbJrSc9FFu0QoUoFhvi6qSKJEw9y5oGyvr9fuDtzJ30rNQ==,
+ integrity: sha512-E7H/yTd8kGQfY4z9t3nRPk/hrhaCajfA3YSQSBrst8B+3uTcgsi8N+ZWYCaeIDsiVs6m65JPCaQN/DxBRclF3A==,
}
engines: { node: ">=12" }
cpu: [arm]
@@ -825,10 +811,10 @@ packages:
cpu: [x64]
os: [android]
- "@esbuild/android-x64@0.21.3":
+ "@esbuild/android-x64@0.21.4":
resolution:
{
- integrity: sha512-JReHfYCRK3FVX4Ra+y5EBH1b9e16TV2OxrPAvzMsGeES0X2Ndm9ImQRI4Ket757vhc5XBOuGperw63upesclRw==,
+ integrity: sha512-mDqmlge3hFbEPbCWxp4fM6hqq7aZfLEHZAKGP9viq9wMUBVQx202aDIfc3l+d2cKhUJM741VrCXEzRFhPDKH3Q==,
}
engines: { node: ">=12" }
cpu: [x64]
@@ -843,10 +829,10 @@ packages:
cpu: [arm64]
os: [darwin]
- "@esbuild/darwin-arm64@0.21.3":
+ "@esbuild/darwin-arm64@0.21.4":
resolution:
{
- integrity: sha512-U3fuQ0xNiAkXOmQ6w5dKpEvXQRSpHOnbw7gEfHCRXPeTKW9sBzVck6C5Yneb8LfJm0l6le4NQfkNPnWMSlTFUQ==,
+ integrity: sha512-72eaIrDZDSiWqpmCzVaBD58c8ea8cw/U0fq/PPOTqE3c53D0xVMRt2ooIABZ6/wj99Y+h4ksT/+I+srCDLU9TA==,
}
engines: { node: ">=12" }
cpu: [arm64]
@@ -861,10 +847,10 @@ packages:
cpu: [x64]
os: [darwin]
- "@esbuild/darwin-x64@0.21.3":
+ "@esbuild/darwin-x64@0.21.4":
resolution:
{
- integrity: sha512-3m1CEB7F07s19wmaMNI2KANLcnaqryJxO1fXHUV5j1rWn+wMxdUYoPyO2TnAbfRZdi7ADRwJClmOwgT13qlP3Q==,
+ integrity: sha512-uBsuwRMehGmw1JC7Vecu/upOjTsMhgahmDkWhGLWxIgUn2x/Y4tIwUZngsmVb6XyPSTXJYS4YiASKPcm9Zitag==,
}
engines: { node: ">=12" }
cpu: [x64]
@@ -879,10 +865,10 @@ packages:
cpu: [arm64]
os: [freebsd]
- "@esbuild/freebsd-arm64@0.21.3":
+ "@esbuild/freebsd-arm64@0.21.4":
resolution:
{
- integrity: sha512-fsNAAl5pU6wmKHq91cHWQT0Fz0vtyE1JauMzKotrwqIKAswwP5cpHUCxZNSTuA/JlqtScq20/5KZ+TxQdovU/g==,
+ integrity: sha512-8JfuSC6YMSAEIZIWNL3GtdUT5NhUA/CMUCpZdDRolUXNAXEE/Vbpe6qlGLpfThtY5NwXq8Hi4nJy4YfPh+TwAg==,
}
engines: { node: ">=12" }
cpu: [arm64]
@@ -897,10 +883,10 @@ packages:
cpu: [x64]
os: [freebsd]
- "@esbuild/freebsd-x64@0.21.3":
+ "@esbuild/freebsd-x64@0.21.4":
resolution:
{
- integrity: sha512-tci+UJ4zP5EGF4rp8XlZIdq1q1a/1h9XuronfxTMCNBslpCtmk97Q/5qqy1Mu4zIc0yswN/yP/BLX+NTUC1bXA==,
+ integrity: sha512-8d9y9eQhxv4ef7JmXny7591P/PYsDFc4+STaxC1GBv0tMyCdyWfXu2jBuqRsyhY8uL2HU8uPyscgE2KxCY9imQ==,
}
engines: { node: ">=12" }
cpu: [x64]
@@ -915,10 +901,10 @@ packages:
cpu: [arm64]
os: [linux]
- "@esbuild/linux-arm64@0.21.3":
+ "@esbuild/linux-arm64@0.21.4":
resolution:
{
- integrity: sha512-vvG6R5g5ieB4eCJBQevyDMb31LMHthLpXTc2IGkFnPWS/GzIFDnaYFp558O+XybTmYrVjxnryru7QRleJvmZ6Q==,
+ integrity: sha512-/GLD2orjNU50v9PcxNpYZi+y8dJ7e7/LhQukN3S4jNDXCKkyyiyAz9zDw3siZ7Eh1tRcnCHAo/WcqKMzmi4eMQ==,
}
engines: { node: ">=12" }
cpu: [arm64]
@@ -933,10 +919,10 @@ packages:
cpu: [arm]
os: [linux]
- "@esbuild/linux-arm@0.21.3":
+ "@esbuild/linux-arm@0.21.4":
resolution:
{
- integrity: sha512-f6kz2QpSuyHHg01cDawj0vkyMwuIvN62UAguQfnNVzbge2uWLhA7TCXOn83DT0ZvyJmBI943MItgTovUob36SQ==,
+ integrity: sha512-2rqFFefpYmpMs+FWjkzSgXg5vViocqpq5a1PSRgT0AvSgxoXmGF17qfGAzKedg6wAwyM7UltrKVo9kxaJLMF/g==,
}
engines: { node: ">=12" }
cpu: [arm]
@@ -951,10 +937,10 @@ packages:
cpu: [ia32]
os: [linux]
- "@esbuild/linux-ia32@0.21.3":
+ "@esbuild/linux-ia32@0.21.4":
resolution:
{
- integrity: sha512-HjCWhH7K96Na+66TacDLJmOI9R8iDWDDiqe17C7znGvvE4sW1ECt9ly0AJ3dJH62jHyVqW9xpxZEU1jKdt+29A==,
+ integrity: sha512-pNftBl7m/tFG3t2m/tSjuYeWIffzwAZT9m08+9DPLizxVOsUl8DdFzn9HvJrTQwe3wvJnwTdl92AonY36w/25g==,
}
engines: { node: ">=12" }
cpu: [ia32]
@@ -969,10 +955,10 @@ packages:
cpu: [loong64]
os: [linux]
- "@esbuild/linux-loong64@0.21.3":
+ "@esbuild/linux-loong64@0.21.4":
resolution:
{
- integrity: sha512-BGpimEccmHBZRcAhdlRIxMp7x9PyJxUtj7apL2IuoG9VxvU/l/v1z015nFs7Si7tXUwEsvjc1rOJdZCn4QTU+Q==,
+ integrity: sha512-cSD2gzCK5LuVX+hszzXQzlWya6c7hilO71L9h4KHwqI4qeqZ57bAtkgcC2YioXjsbfAv4lPn3qe3b00Zt+jIfQ==,
}
engines: { node: ">=12" }
cpu: [loong64]
@@ -987,10 +973,10 @@ packages:
cpu: [mips64el]
os: [linux]
- "@esbuild/linux-mips64el@0.21.3":
+ "@esbuild/linux-mips64el@0.21.4":
resolution:
{
- integrity: sha512-5rMOWkp7FQGtAH3QJddP4w3s47iT20hwftqdm7b+loe95o8JU8ro3qZbhgMRy0VuFU0DizymF1pBKkn3YHWtsw==,
+ integrity: sha512-qtzAd3BJh7UdbiXCrg6npWLYU0YpufsV9XlufKhMhYMJGJCdfX/G6+PNd0+v877X1JG5VmjBLUiFB0o8EUSicA==,
}
engines: { node: ">=12" }
cpu: [mips64el]
@@ -1005,10 +991,10 @@ packages:
cpu: [ppc64]
os: [linux]
- "@esbuild/linux-ppc64@0.21.3":
+ "@esbuild/linux-ppc64@0.21.4":
resolution:
{
- integrity: sha512-h0zj1ldel89V5sjPLo5H1SyMzp4VrgN1tPkN29TmjvO1/r0MuMRwJxL8QY05SmfsZRs6TF0c/IDH3u7XYYmbAg==,
+ integrity: sha512-yB8AYzOTaL0D5+2a4xEy7OVvbcypvDR05MsB/VVPVA7nL4hc5w5Dyd/ddnayStDgJE59fAgNEOdLhBxjfx5+dg==,
}
engines: { node: ">=12" }
cpu: [ppc64]
@@ -1023,10 +1009,10 @@ packages:
cpu: [riscv64]
os: [linux]
- "@esbuild/linux-riscv64@0.21.3":
+ "@esbuild/linux-riscv64@0.21.4":
resolution:
{
- integrity: sha512-dkAKcTsTJ+CRX6bnO17qDJbLoW37npd5gSNtSzjYQr0svghLJYGYB0NF1SNcU1vDcjXLYS5pO4qOW4YbFama4A==,
+ integrity: sha512-Y5AgOuVzPjQdgU59ramLoqSSiXddu7F3F+LI5hYy/d1UHN7K5oLzYBDZe23QmQJ9PIVUXwOdKJ/jZahPdxzm9w==,
}
engines: { node: ">=12" }
cpu: [riscv64]
@@ -1041,10 +1027,10 @@ packages:
cpu: [s390x]
os: [linux]
- "@esbuild/linux-s390x@0.21.3":
+ "@esbuild/linux-s390x@0.21.4":
resolution:
{
- integrity: sha512-vnD1YUkovEdnZWEuMmy2X2JmzsHQqPpZElXx6dxENcIwTu+Cu5ERax6+Ke1QsE814Zf3c6rxCfwQdCTQ7tPuXA==,
+ integrity: sha512-Iqc/l/FFwtt8FoTK9riYv9zQNms7B8u+vAI/rxKuN10HgQIXaPzKZc479lZ0x6+vKVQbu55GdpYpeNWzjOhgbA==,
}
engines: { node: ">=12" }
cpu: [s390x]
@@ -1059,10 +1045,10 @@ packages:
cpu: [x64]
os: [linux]
- "@esbuild/linux-x64@0.21.3":
+ "@esbuild/linux-x64@0.21.4":
resolution:
{
- integrity: sha512-IOXOIm9WaK7plL2gMhsWJd+l2bfrhfilv0uPTptoRoSb2p09RghhQQp9YY6ZJhk/kqmeRt6siRdMSLLwzuT0KQ==,
+ integrity: sha512-Td9jv782UMAFsuLZINfUpoF5mZIbAj+jv1YVtE58rFtfvoKRiKSkRGQfHTgKamLVT/fO7203bHa3wU122V/Bdg==,
}
engines: { node: ">=12" }
cpu: [x64]
@@ -1077,10 +1063,10 @@ packages:
cpu: [x64]
os: [netbsd]
- "@esbuild/netbsd-x64@0.21.3":
+ "@esbuild/netbsd-x64@0.21.4":
resolution:
{
- integrity: sha512-uTgCwsvQ5+vCQnqM//EfDSuomo2LhdWhFPS8VL8xKf+PKTCrcT/2kPPoWMTs22aB63MLdGMJiE3f1PHvCDmUOw==,
+ integrity: sha512-Awn38oSXxsPMQxaV0Ipb7W/gxZtk5Tx3+W+rAPdZkyEhQ6968r9NvtkjhnhbEgWXYbgV+JEONJ6PcdBS+nlcpA==,
}
engines: { node: ">=12" }
cpu: [x64]
@@ -1095,10 +1081,10 @@ packages:
cpu: [x64]
os: [openbsd]
- "@esbuild/openbsd-x64@0.21.3":
+ "@esbuild/openbsd-x64@0.21.4":
resolution:
{
- integrity: sha512-vNAkR17Ub2MgEud2Wag/OE4HTSI6zlb291UYzHez/psiKarp0J8PKGDnAhMBcHFoOHMXHfExzmjMojJNbAStrQ==,
+ integrity: sha512-IsUmQeCY0aU374R82fxIPu6vkOybWIMc3hVGZ3ChRwL9hA1TwY+tS0lgFWV5+F1+1ssuvvXt3HFqe8roCip8Hg==,
}
engines: { node: ">=12" }
cpu: [x64]
@@ -1113,10 +1099,10 @@ packages:
cpu: [x64]
os: [sunos]
- "@esbuild/sunos-x64@0.21.3":
+ "@esbuild/sunos-x64@0.21.4":
resolution:
{
- integrity: sha512-W8H9jlGiSBomkgmouaRoTXo49j4w4Kfbl6I1bIdO/vT0+0u4f20ko3ELzV3hPI6XV6JNBVX+8BC+ajHkvffIJA==,
+ integrity: sha512-hsKhgZ4teLUaDA6FG/QIu2q0rI6I36tZVfM4DBZv3BG0mkMIdEnMbhc4xwLvLJSS22uWmaVkFkqWgIS0gPIm+A==,
}
engines: { node: ">=12" }
cpu: [x64]
@@ -1131,10 +1117,10 @@ packages:
cpu: [arm64]
os: [win32]
- "@esbuild/win32-arm64@0.21.3":
+ "@esbuild/win32-arm64@0.21.4":
resolution:
{
- integrity: sha512-EjEomwyLSCg8Ag3LDILIqYCZAq/y3diJ04PnqGRgq8/4O3VNlXyMd54j/saShaN4h5o5mivOjAzmU6C3X4v0xw==,
+ integrity: sha512-UUfMgMoXPoA/bvGUNfUBFLCh0gt9dxZYIx9W4rfJr7+hKe5jxxHmfOK8YSH4qsHLLN4Ck8JZ+v7Q5fIm1huErg==,
}
engines: { node: ">=12" }
cpu: [arm64]
@@ -1149,10 +1135,10 @@ packages:
cpu: [ia32]
os: [win32]
- "@esbuild/win32-ia32@0.21.3":
+ "@esbuild/win32-ia32@0.21.4":
resolution:
{
- integrity: sha512-WGiE/GgbsEwR33++5rzjiYsKyHywE8QSZPF7Rfx9EBfK3Qn3xyR6IjyCr5Uk38Kg8fG4/2phN7sXp4NPWd3fcw==,
+ integrity: sha512-yIxbspZb5kGCAHWm8dexALQ9en1IYDfErzjSEq1KzXFniHv019VT3mNtTK7t8qdy4TwT6QYHI9sEZabONHg+aw==,
}
engines: { node: ">=12" }
cpu: [ia32]
@@ -1167,10 +1153,10 @@ packages:
cpu: [x64]
os: [win32]
- "@esbuild/win32-x64@0.21.3":
+ "@esbuild/win32-x64@0.21.4":
resolution:
{
- integrity: sha512-xRxC0jaJWDLYvcUvjQmHCJSfMrgmUuvsoXgDeU/wTorQ1ngDdUBuFtgY3W1Pc5sprGAvZBtWdJX7RPg/iZZUqA==,
+ integrity: sha512-sywLRD3UK/qRJt0oBwdpYLBibk7KiRfbswmWRDabuncQYSlf8aLEEUor/oP6KRz8KEG+HoiVLBhPRD5JWjS8Sg==,
}
engines: { node: ">=12" }
cpu: [x64]
@@ -1522,10 +1508,10 @@ packages:
integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==,
}
- "@mdx-js/mdx@3.0.0":
+ "@mdx-js/mdx@3.0.1":
resolution:
{
- integrity: sha512-Icm0TBKBLYqroYbNW3BPnzMGn+7mwpQOK310aZ7+fkCtiU3aqv2cdcX+nd0Ydo3wI5Rx8bX2Z2QmGb/XcAClCw==,
+ integrity: sha512-eIQ4QTrOWyL3LWEe/bu6Taqzq2HQvHcyTMaOrI95P2/LmJE7AsfPfgJGuFLPVqBUE1BC1rik3VIhU+s9u72arA==,
}
"@nodelib/fs.scandir@2.1.5":
@@ -1729,6 +1715,12 @@ packages:
integrity: sha512-wSAOgaz48GmhILFElMCeQypSZmj6Ru6DttOOtl3KNkdJ17ApQuGNCfzpk4cClasVrnIu45++2DBwG4LNMQAfaA==,
}
+ "@shikijs/core@1.6.3":
+ resolution:
+ {
+ integrity: sha512-QnJKHFUW95GnlJLJGP6QLx4M69HM0KlXk+R2Y8lr/x4nAx1Yb/lsuxq4XwybuUjTxbJk+BT0g/kvn0bcsjGGHg==,
+ }
+
"@trysound/sax@0.2.0":
resolution:
{
@@ -1820,6 +1812,12 @@ packages:
integrity: sha512-ABoYdNQ/kBSsLvZAekMhIPMQ3YUZvavStpKYs7BjLLuKVmIMA0LUgZ7b54zzuWJRbHF80v1cNf4r90Vd6eMQDg==,
}
+ "@types/nlcst@2.0.3":
+ resolution:
+ {
+ integrity: sha512-vSYNSDe6Ix3q+6Z7ri9lyWqgGhJTmzRjZRqyq15N0Z/1/UnVsno9G/N40NBijoYx2seFDIl0+B2mgAb9mezUCA==,
+ }
+
"@types/node@17.0.45":
resolution:
{
@@ -1920,14 +1918,6 @@ packages:
peerDependencies:
acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
- acorn@8.11.2:
- resolution:
- {
- integrity: sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==,
- }
- engines: { node: ">=0.4.0" }
- hasBin: true
-
acorn@8.11.3:
resolution:
{
@@ -2035,10 +2025,10 @@ packages:
peerDependencies:
astro: ^4.0.0-beta || ^3.3.0
- astro@4.8.6:
+ astro@4.10.1:
resolution:
{
- integrity: sha512-psHIfK+e+bMPhRwghV9yCGH/uc1jvY4DHmDZdoEepax9yA7kzYH0wt3dpkqlcrO2zxl5jzSC3DmqZfkD6wnW9A==,
+ integrity: sha512-7bbnUX1CW+12suz0Do8ef1CihqVjDyUW/H/0piNHZyBE3W/VFt5GP5ZxlPzzJLoGtaXif0aXJ4iPurEem2LpdA==,
}
engines:
{ node: ^18.17.1 || ^20.3.0 || >=21.0.0, npm: ">=9.6.5", pnpm: ">=7.1.0" }
@@ -2442,10 +2432,10 @@ packages:
engines: { node: ">=4" }
hasBin: true
- cssnano-preset-default@7.0.1:
+ cssnano-preset-default@7.0.2:
resolution:
{
- integrity: sha512-Fumyr+uZMcjYQeuHssAZxn0cKj3cdQc5GcxkBcmEzISGB+UW9CLNlU4tBOJbJGcPukFDlicG32eFbrc8K9V5pw==,
+ integrity: sha512-z95kGKZx8VWHfERj7LFzuiTxylbvEp07ZEYaFu+t6bFyNOXLd/+3oPyNaY7ISwcrfHFCkt8OfRo4IZxVRJZ7dg==,
}
engines: { node: ^18.12.0 || ^20.9.0 || >=22.0 }
peerDependencies:
@@ -2460,10 +2450,10 @@ packages:
peerDependencies:
postcss: ^8.4.31
- cssnano@7.0.1:
+ cssnano@7.0.2:
resolution:
{
- integrity: sha512-917Mej/4SdI7b55atsli3sU4MOJ9XDoKgnlCtQtXYj8XUFcM3riTuYHyqBBnnskawW+zWwp0KxJzpEUodlpqUg==,
+ integrity: sha512-LXm/Xx6TNLzfHM2lBaIQHfvtdW5QfdbyLzfJAWZrclCAb47yVa0/yJG69+amcw3Lq0YZ+kyU40rbsMPLcMt9aw==,
}
engines: { node: ^18.12.0 || ^20.9.0 || >=22.0 }
peerDependencies:
@@ -2628,16 +2618,10 @@ packages:
}
engines: { node: ">=0.12" }
- es-module-lexer@1.4.1:
+ es-module-lexer@1.5.3:
resolution:
{
- integrity: sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w==,
- }
-
- es-module-lexer@1.5.2:
- resolution:
- {
- integrity: sha512-l60ETUTmLqbVbVHv1J4/qj+M8nq7AwMzEcg3kmJDt9dCNrTk+yHcYFf/Kw75pMDwd9mPcIGCG5LcS20SxYRzFA==,
+ integrity: sha512-i1gCgmR9dCl6Vil6UKPI/trA69s08g/syhiDK9TG0Nf1RJjjFI+AzoWW7sPufzkgYAn861skuCwJa0pIIHYxvg==,
}
esbuild@0.20.2:
@@ -2648,10 +2632,10 @@ packages:
engines: { node: ">=12" }
hasBin: true
- esbuild@0.21.3:
+ esbuild@0.21.4:
resolution:
{
- integrity: sha512-Kgq0/ZsAPzKrbOjCQcjoSmPoWhlcVnGAUo7jvaLHoxW1Drto0KGkR1xBNg2Cp43b9ImvxmPEJZ9xkfcnqPsfBw==,
+ integrity: sha512-sFMcNNrj+Q0ZDolrp5pDhH0nRPN9hLIM3fRPwgbLYJeSHHgnXSnbV3xYgSVuOeLWH9c73VwmEverVzupIv5xuA==,
}
engines: { node: ">=12" }
hasBin: true
@@ -2980,12 +2964,6 @@ packages:
integrity: sha512-lfX5g6hqVh9kjS/B9E2gSkvHH4SZNiQFiqWS0x9fENzEl+8W12RqdRxX6d/Cwxi30tPQs3bIO+aolQJNp1bIyw==,
}
- hast-util-to-html@9.0.0:
- resolution:
- {
- integrity: sha512-IVGhNgg7vANuUA2XKrT6sOIIPgaYZnmLx3l/CCOAK0PtgfoHrZwX7jCSYyFxHTrGmC6S9q8aQQekjp4JPZF+cw==,
- }
-
hast-util-to-html@9.0.1:
resolution:
{
@@ -3840,6 +3818,12 @@ packages:
integrity: sha512-63mVyqaqt0cmn2VcI2aH6kxe1rLAmSROqHMA0i4qqg1tidkfExgpb0FGMikMCn86mw5dFtBtEANfmSSK7TjNHw==,
}
+ nlcst-to-string@4.0.0:
+ resolution:
+ {
+ integrity: sha512-YKLBCcUYKAg0FNlOBT6aI91qFmSiFKiluk655WzPF+DDMA02qIyy8uiRqI8QXtcFpEvll12LpL5MXqEmAZ+dcA==,
+ }
+
node-releases@2.0.14:
resolution:
{
@@ -3995,6 +3979,12 @@ packages:
integrity: sha512-b/K8ExXaWC9t34kKeDV8kGXBkXZ1HCSAZRYE7HR14eA1GlXX5L8iWhs8USJNhQU9q5ci413jCKF0gOyovvyRBg==,
}
+ parse-latin@7.0.0:
+ resolution:
+ {
+ integrity: sha512-mhHgobPPua5kZ98EF4HWiH167JWBfl4pvAIXXdbaVohtK7a6YBOy56kvhCqduqyo/f3yrHFWmqmiMg/BkBkYYQ==,
+ }
+
parse5@7.1.2:
resolution:
{
@@ -4342,19 +4332,19 @@ packages:
peerDependencies:
postcss: ^8.4
- postcss-merge-longhand@7.0.0:
+ postcss-merge-longhand@7.0.1:
resolution:
{
- integrity: sha512-0X8I4/9+G03X5/5NnrfopG/YEln2XU8heDh7YqBaiq2SeaKIG3n66ShZPjIolmVuLBQ0BEm3yS8o1mlCLHdW7A==,
+ integrity: sha512-qZlD26hnqSTMxSSOMS8+QCeRWtqOdMKeQHvHcBhjL3mJxKUs47cvO1Y1x3iTdYIk3ioMcRHTiy229TT0mEMH/A==,
}
engines: { node: ^18.12.0 || ^20.9.0 || >=22.0 }
peerDependencies:
postcss: ^8.4.31
- postcss-merge-rules@7.0.0:
+ postcss-merge-rules@7.0.1:
resolution:
{
- integrity: sha512-Zty3VlOsD6VSjBMu6PiHCVpLegtBT/qtZRVBcSeyEZ6q1iU5qTYT0WtEoLRV+YubZZguS5/ycfP+NRiKfjv6aw==,
+ integrity: sha512-bb8McYQbo2etgs0uVt6AfngajACK3FHSVP3sGLhprrjbtHJWgG03JZ4KKBlJ8/5Fb8/Rr+mMKaybMYeoYrAg0A==,
}
engines: { node: ^18.12.0 || ^20.9.0 || >=22.0 }
peerDependencies:
@@ -4387,10 +4377,10 @@ packages:
peerDependencies:
postcss: ^8.4.31
- postcss-minify-selectors@7.0.0:
+ postcss-minify-selectors@7.0.1:
resolution:
{
- integrity: sha512-f00CExZhD6lNw2vTZbcnmfxVgaVKzUw6IRsIFX3JTT8GdsoABc1WnhhGwL1i8YPJ3sSWw39fv7XPtvLb+3Uitw==,
+ integrity: sha512-YfIbGtcgMFquPxV2L/ASs36ZS4DsgfcDX9tQ8cTEIvBTv+0GXFKtcvvpi9tCKto/+DWGWYKMCESFG3Pnan0Feg==,
}
engines: { node: ^18.12.0 || ^20.9.0 || >=22.0 }
peerDependencies:
@@ -4405,10 +4395,10 @@ packages:
peerDependencies:
postcss: ^8.2.14
- postcss-nesting@12.1.4:
+ postcss-nesting@12.1.5:
resolution:
{
- integrity: sha512-CcHOq94K137E+U4Ommu7pexcpp0Tjm24zl4UcqWs1oSLAr5cLI+jLrqQ5h/bdjhMX6cMbzunyustVNnvrzF8Zg==,
+ integrity: sha512-N1NgI1PDCiAGWPTYrwqm8wpjv0bgDmkYHH72pNsqTCv9CObxjxftdYu6AKtGN+pnJa7FQjMm3v4sp8QJbFsYdQ==,
}
engines: { node: ^14 || ^16 || >=18 }
peerDependencies:
@@ -4539,10 +4529,10 @@ packages:
peerDependencies:
postcss: ^8.4
- postcss-preset-env@9.5.13:
+ postcss-preset-env@9.5.14:
resolution:
{
- integrity: sha512-YQMwWu6MAc4Envrjf/mW2BTrb5J8WkrJ4dV2VostZVDhrmEPpYREOyhmvtlFLDxK1/AmTDY8aXjZViMC1qKu/w==,
+ integrity: sha512-gTMi+3kENN/mN+K59aR+vEOjlkujTmmXJcM9rnAqGh9Y/euQ/ypdp9rd8mO1eoIjAD8vNS15+xbkBxoi+65BqQ==,
}
engines: { node: ^14 || ^16 || >=18 }
peerDependencies:
@@ -4606,19 +4596,26 @@ packages:
}
engines: { node: ">=4" }
- postcss-svgo@7.0.0:
+ postcss-selector-parser@6.1.0:
resolution:
{
- integrity: sha512-Xj5DRdvA97yRy3wjbCH2NKXtDUwEnph6EHr5ZXszsBVKCNrKXYBjzAXqav7/Afz5WwJ/1peZoTguCEJIg7ytmA==,
+ integrity: sha512-UMz42UD0UY0EApS0ZL9o1XnLhSTtvvvLe5Dc2H2O56fvRZi+KulDyf5ctDhhtYJBGKStV2FL1fy6253cmLgqVQ==,
+ }
+ engines: { node: ">=4" }
+
+ postcss-svgo@7.0.1:
+ resolution:
+ {
+ integrity: sha512-0WBUlSL4lhD9rA5k1e5D8EN5wCEyZD6HJk0jIvRxl+FDVOMlJ7DePHYWGGVc5QRqrJ3/06FTXM0bxjmJpmTPSA==,
}
engines: { node: ^18.12.0 || ^20.9.0 || >= 18 }
peerDependencies:
postcss: ^8.4.31
- postcss-unique-selectors@7.0.0:
+ postcss-unique-selectors@7.0.1:
resolution:
{
- integrity: sha512-NYFqcft7vVQMZlQPsMdMPy+qU/zDpy95Malpw4GeA9ZZjM6dVXDshXtDmLc0m4WCD6XeZCJqjTfPT1USsdt+rA==,
+ integrity: sha512-MH7QE/eKUftTB5ta40xcHLl7hkZjgDFydpfTK+QWXeHxghVt3VoPqYL5/G+zYZPPIs+8GuqFXSTgxBSoB1RZtQ==,
}
engines: { node: ^18.12.0 || ^20.9.0 || >=22.0 }
peerDependencies:
@@ -4776,6 +4773,13 @@ packages:
}
engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 }
+ remark-smartypants@3.0.1:
+ resolution:
+ {
+ integrity: sha512-qyshfCl2eLO0i0558e79ZJsfojC5wjnYLByjt0FmjJQN6aYwcRxpoj784LZJSoWCdnA2ubh5rLNGb8Uur/wDng==,
+ }
+ engines: { node: ">=16.0.0" }
+
remark-stringify@11.0.0:
resolution:
{
@@ -4815,24 +4819,48 @@ packages:
integrity: sha512-5MrD1tuebzO8ppsja5eEu+ZbBeUNCjoEarn70tkXOS7Bdsdf6tNahsv2bY0Z8VooFF6cw7/6S+d3yI/TMlMVVQ==,
}
+ retext-latin@4.0.0:
+ resolution:
+ {
+ integrity: sha512-hv9woG7Fy0M9IlRQloq/N6atV82NxLGveq+3H2WOi79dtIYWN8OaxogDm77f8YnVXJL2VD3bbqowu5E3EMhBYA==,
+ }
+
retext-smartypants@5.2.0:
resolution:
{
integrity: sha512-Do8oM+SsjrbzT2UNIKgheP0hgUQTDDQYyZaIY3kfq0pdFzoPk+ZClYJ+OERNXveog4xf1pZL4PfRxNoVL7a/jw==,
}
+ retext-smartypants@6.1.0:
+ resolution:
+ {
+ integrity: sha512-LDPXg95346bqFZnDMHo0S7Rq5p64+B+N8Vz733+wPMDtwb9rCOs9LIdIEhrUOU+TAywX9St+ocQWJt8wrzivcQ==,
+ }
+
retext-stringify@3.1.0:
resolution:
{
integrity: sha512-767TLOaoXFXyOnjx/EggXlb37ZD2u4P1n0GJqVdpipqACsQP+20W+BNpMYrlJkq7hxffnFk+jc6mAK9qrbuB8w==,
}
+ retext-stringify@4.0.0:
+ resolution:
+ {
+ integrity: sha512-rtfN/0o8kL1e+78+uxPTqu1Klt0yPzKuQ2BfWwwfgIUSayyzxpM1PJzkKt4V8803uB9qSy32MvI7Xep9khTpiA==,
+ }
+
retext@8.1.0:
resolution:
{
integrity: sha512-N9/Kq7YTn6ZpzfiGW45WfEGJqFf1IM1q8OsRa1CGzIebCJBNCANDRmOrholiDRGKo/We7ofKR4SEvcGAWEMD3Q==,
}
+ retext@9.0.0:
+ resolution:
+ {
+ integrity: sha512-sbMDcpHCNjvlheSgMfEcVrZko3cDzdbe1x/e7G66dFp0Ff7Mldvi2uv6JkJQzdRcvLYE8CA8Oe8siQx8ZOgTcA==,
+ }
+
reusify@1.0.4:
resolution:
{
@@ -4917,6 +4945,12 @@ packages:
integrity: sha512-fpPbuSaatinmdGijE7VYUD3hxLozR3ZZ+iAx8Iy2X6REmJGyF5hQl94SgmiUNTospq346nXUVZx0035dyGvIVw==,
}
+ shiki@1.6.3:
+ resolution:
+ {
+ integrity: sha512-lE1/YGlzFY0hQSyEfsZj18xGrTWxyhFQkaiILALqTBZPbJeYFWpbUhlmTGPOupYB/qC+H6sV4UznJzcEh3WMHQ==,
+ }
+
signal-exit@3.0.7:
resolution:
{
@@ -5064,10 +5098,10 @@ packages:
integrity: sha512-rDRwHtoDD3UMMrmZ6BzOW0naTjMsVZLIjsGleSKS/0Oz+cgCfAPRspaqJuE8rDzpKha/nEvnM0IF4seEAZUTKQ==,
}
- stylehacks@7.0.0:
+ stylehacks@7.0.1:
resolution:
{
- integrity: sha512-47Nw4pQ6QJb4CA6dzF2m9810sjQik4dfk4UwAm5wlwhrW3syzZKF8AR4/cfO3Cr6lsFgAoznQq0Wg57qhjTA2A==,
+ integrity: sha512-PnrT4HzajnxbjfChpeBKLSpSykilnGBlD+pIffCoT5KbLur9fcL8uKRQJJap85byR2wCYZl/4Otk5eq76qeZxQ==,
}
engines: { node: ^18.12.0 || ^20.9.0 || >=22.0 }
peerDependencies:
@@ -5156,10 +5190,10 @@ packages:
integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==,
}
- tsconfck@3.0.3:
+ tsconfck@3.1.0:
resolution:
{
- integrity: sha512-4t0noZX9t6GcPTfBAbIbbIU4pfpCwh0ueq3S4O/5qXI1VwK1outmxhe9dOiEWqMz3MW2LKgDTpqWV+37IWuVbA==,
+ integrity: sha512-CMjc5zMnyAjcS9sPLytrbFmj89st2g+JYtY/c02ug4Q+CZaAtCgbyviI0n1YvjZE/pzoc6FbNsINS13DOL1B9w==,
}
engines: { node: ^18 || >=20 }
hasBin: true
@@ -5244,6 +5278,12 @@ packages:
integrity: sha512-yXi4Lm+TG5VG+qvokP6tpnk+r1EPwyYL04JWDxLvgvPV40jANh7nm3udk65OOWquvbMDe+PL9+LmkxDpTv/7BA==,
}
+ unist-util-modify-children@4.0.0:
+ resolution:
+ {
+ integrity: sha512-+tdN5fGNddvsQdIzUF3Xx82CU9sMM+fA0dLgR9vOmT0oPT2jH+P1nd5lSqfCfXAw+93NhcXNY2qqvTUtE4cQkw==,
+ }
+
unist-util-position-from-estree@2.0.0:
resolution:
{
@@ -5280,6 +5320,12 @@ packages:
integrity: sha512-+LWpMFqyUwLGpsQxpumsQ9o9DG2VGLFrpz+rpVXYIEdPy57GSy5HioC0g3bg/8WP9oCLlapQtklOzQ8uLS496Q==,
}
+ unist-util-visit-children@3.0.0:
+ resolution:
+ {
+ integrity: sha512-RgmdTfSBOg04sdPcpTSD1jzoNBjt9a80/ZCzp5cI9n1qPzLZWF9YdvWGN2zmTumP1HWhXKdUWexjy/Wy/lJ7tA==,
+ }
+
unist-util-visit-parents@5.1.3:
resolution:
{
@@ -5349,10 +5395,10 @@ packages:
integrity: sha512-1bYqc7pt6NIADBJ98UiG0Bn/CHIVOoZ/IyEkqIruLg0mE1BKzkOXY2D6CSqQIcKqgadppE5lrxgWXJmXd7zZJw==,
}
- vite@5.2.11:
+ vite@5.2.13:
resolution:
{
- integrity: sha512-HndV31LWW05i1BLPMUCE1B9E9GFbOu1MbenhS58FuK6owSO5qHm7GiCotrNY1YE5rMeQSFBGmT5ZaLEjFizgiQ==,
+ integrity: sha512-SSq1noJfY9pR3I1TUENL3rQYDQCFqgD+lM6fTRAM8Nv6Lsg5hDLaXkjETVeBt+7vZBCMoibD+6IWnT2mJ+Zb/A==,
}
engines: { node: ^18.0.0 || >=20.0.0 }
hasBin: true
@@ -5542,10 +5588,10 @@ packages:
}
engines: { node: ">=8.15" }
- which-pm@2.1.1:
+ which-pm@2.2.0:
resolution:
{
- integrity: sha512-xzzxNw2wMaoCWXiGE8IJ9wuPMU+EYhFksjHxrRT8kMT5SnocBPRg69YAMtyV4D12fP582RA+k3P8H9J5EMdIxQ==,
+ integrity: sha512-MOiaDbA5ZZgUjkeMWM5EkJp4loW5ZRoa5bc3/aeMox/PJelMhE6t7S/mLuiY43DBupyxH+S0U1bTui9kWUlmsw==,
}
engines: { node: ">=8.15" }
@@ -5646,12 +5692,6 @@ packages:
peerDependencies:
zod: ^3.23.3
- zod@3.22.4:
- resolution:
- {
- integrity: sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==,
- }
-
zod@3.23.8:
resolution:
{
@@ -5669,8 +5709,8 @@ snapshots:
"@ampproject/remapping@2.2.1":
dependencies:
- "@jridgewell/gen-mapping": 0.3.3
- "@jridgewell/trace-mapping": 0.3.20
+ "@jridgewell/gen-mapping": 0.3.5
+ "@jridgewell/trace-mapping": 0.3.25
"@astrojs/check@0.7.0(typescript@5.4.5)":
dependencies:
@@ -5723,7 +5763,7 @@ snapshots:
remark-parse: 11.0.0
remark-rehype: 11.1.0
remark-smartypants: 2.0.0
- shiki: 1.5.2
+ shiki: 1.6.3
unified: 11.0.4
unist-util-remove-position: 5.0.0
unist-util-visit: 5.0.0
@@ -5732,21 +5772,21 @@ snapshots:
transitivePeerDependencies:
- supports-color
- "@astrojs/mdx@2.3.1(astro@4.8.6(typescript@5.4.5))":
+ "@astrojs/mdx@3.1.0(astro@4.10.1(typescript@5.4.5))":
dependencies:
"@astrojs/markdown-remark": 5.1.0
- "@mdx-js/mdx": 3.0.0
- acorn: 8.11.2
- astro: 4.8.6(typescript@5.4.5)
- es-module-lexer: 1.4.1
+ "@mdx-js/mdx": 3.0.1
+ acorn: 8.11.3
+ astro: 4.10.1(typescript@5.4.5)
+ es-module-lexer: 1.5.3
estree-util-visit: 2.0.0
github-slugger: 2.0.0
gray-matter: 4.0.3
- hast-util-to-html: 9.0.0
+ hast-util-to-html: 9.0.1
kleur: 4.1.5
rehype-raw: 7.0.0
remark-gfm: 4.0.0
- remark-smartypants: 2.0.0
+ remark-smartypants: 3.0.1
source-map: 0.7.4
unist-util-visit: 5.0.0
vfile: 6.0.1
@@ -5760,23 +5800,23 @@ snapshots:
"@astrojs/sitemap@3.0.5":
dependencies:
sitemap: 7.1.1
- zod: 3.22.4
+ zod: 3.23.8
- "@astrojs/starlight-tailwind@2.0.2(@astrojs/starlight@0.22.4(astro@4.8.6(typescript@5.4.5)))(@astrojs/tailwind@5.1.0(astro@4.8.6(typescript@5.4.5))(tailwindcss@3.4.3))(tailwindcss@3.4.3)":
+ "@astrojs/starlight-tailwind@2.0.3(@astrojs/starlight@0.24.0(astro@4.10.1(typescript@5.4.5)))(@astrojs/tailwind@5.1.0(astro@4.10.1(typescript@5.4.5))(tailwindcss@3.4.3))(tailwindcss@3.4.3)":
dependencies:
- "@astrojs/starlight": 0.22.4(astro@4.8.6(typescript@5.4.5))
- "@astrojs/tailwind": 5.1.0(astro@4.8.6(typescript@5.4.5))(tailwindcss@3.4.3)
+ "@astrojs/starlight": 0.24.0(astro@4.10.1(typescript@5.4.5))
+ "@astrojs/tailwind": 5.1.0(astro@4.10.1(typescript@5.4.5))(tailwindcss@3.4.3)
tailwindcss: 3.4.3
- "@astrojs/starlight@0.22.4(astro@4.8.6(typescript@5.4.5))":
+ "@astrojs/starlight@0.24.0(astro@4.10.1(typescript@5.4.5))":
dependencies:
- "@astrojs/mdx": 2.3.1(astro@4.8.6(typescript@5.4.5))
+ "@astrojs/mdx": 3.1.0(astro@4.10.1(typescript@5.4.5))
"@astrojs/sitemap": 3.0.5
"@pagefind/default-ui": 1.0.4
"@types/hast": 3.0.3
"@types/mdast": 4.0.3
- astro: 4.8.6(typescript@5.4.5)
- astro-expressive-code: 0.35.3(astro@4.8.6(typescript@5.4.5))
+ astro: 4.10.1(typescript@5.4.5)
+ astro-expressive-code: 0.35.3(astro@4.10.1(typescript@5.4.5))
bcp-47: 2.1.0
hast-util-from-html: 2.0.1
hast-util-select: 6.0.2
@@ -5794,9 +5834,9 @@ snapshots:
transitivePeerDependencies:
- supports-color
- "@astrojs/tailwind@5.1.0(astro@4.8.6(typescript@5.4.5))(tailwindcss@3.4.3)":
+ "@astrojs/tailwind@5.1.0(astro@4.10.1(typescript@5.4.5))(tailwindcss@3.4.3)":
dependencies:
- astro: 4.8.6(typescript@5.4.5)
+ astro: 4.10.1(typescript@5.4.5)
autoprefixer: 10.4.19(postcss@8.4.31)
postcss: 8.4.31
postcss-load-config: 4.0.2(postcss@8.4.31)
@@ -5816,25 +5856,25 @@ snapshots:
transitivePeerDependencies:
- supports-color
- "@babel/code-frame@7.24.2":
+ "@babel/code-frame@7.24.7":
dependencies:
- "@babel/highlight": 7.24.5
+ "@babel/highlight": 7.24.7
picocolors: 1.0.0
- "@babel/compat-data@7.24.4": {}
+ "@babel/compat-data@7.24.7": {}
- "@babel/core@7.24.5":
+ "@babel/core@7.24.7":
dependencies:
"@ampproject/remapping": 2.2.1
- "@babel/code-frame": 7.24.2
- "@babel/generator": 7.24.5
- "@babel/helper-compilation-targets": 7.23.6
- "@babel/helper-module-transforms": 7.24.5(@babel/core@7.24.5)
- "@babel/helpers": 7.24.5
- "@babel/parser": 7.24.5
- "@babel/template": 7.24.0
- "@babel/traverse": 7.24.5
- "@babel/types": 7.24.5
+ "@babel/code-frame": 7.24.7
+ "@babel/generator": 7.24.7
+ "@babel/helper-compilation-targets": 7.24.7
+ "@babel/helper-module-transforms": 7.24.7(@babel/core@7.24.7)
+ "@babel/helpers": 7.24.7
+ "@babel/parser": 7.24.7
+ "@babel/template": 7.24.7
+ "@babel/traverse": 7.24.7
+ "@babel/types": 7.24.7
convert-source-map: 2.0.0
debug: 4.3.4
gensync: 1.0.0-beta.2
@@ -5843,133 +5883,132 @@ snapshots:
transitivePeerDependencies:
- supports-color
- "@babel/generator@7.24.5":
+ "@babel/generator@7.24.7":
dependencies:
- "@babel/types": 7.24.5
+ "@babel/types": 7.24.7
"@jridgewell/gen-mapping": 0.3.5
"@jridgewell/trace-mapping": 0.3.25
jsesc: 2.5.2
- "@babel/helper-annotate-as-pure@7.22.5":
+ "@babel/helper-annotate-as-pure@7.24.7":
dependencies:
- "@babel/types": 7.24.5
+ "@babel/types": 7.24.7
- "@babel/helper-compilation-targets@7.23.6":
+ "@babel/helper-compilation-targets@7.24.7":
dependencies:
- "@babel/compat-data": 7.24.4
- "@babel/helper-validator-option": 7.23.5
+ "@babel/compat-data": 7.24.7
+ "@babel/helper-validator-option": 7.24.7
browserslist: 4.23.0
lru-cache: 5.1.1
semver: 6.3.1
- "@babel/helper-environment-visitor@7.22.20": {}
-
- "@babel/helper-function-name@7.23.0":
+ "@babel/helper-environment-visitor@7.24.7":
dependencies:
- "@babel/template": 7.22.15
- "@babel/types": 7.24.5
+ "@babel/types": 7.24.7
- "@babel/helper-hoist-variables@7.22.5":
+ "@babel/helper-function-name@7.24.7":
dependencies:
- "@babel/types": 7.24.5
+ "@babel/template": 7.24.7
+ "@babel/types": 7.24.7
- "@babel/helper-module-imports@7.22.15":
+ "@babel/helper-hoist-variables@7.24.7":
dependencies:
- "@babel/types": 7.24.5
+ "@babel/types": 7.24.7
- "@babel/helper-module-imports@7.24.3":
+ "@babel/helper-module-imports@7.24.7":
dependencies:
- "@babel/types": 7.24.5
-
- "@babel/helper-module-transforms@7.24.5(@babel/core@7.24.5)":
- dependencies:
- "@babel/core": 7.24.5
- "@babel/helper-environment-visitor": 7.22.20
- "@babel/helper-module-imports": 7.24.3
- "@babel/helper-simple-access": 7.24.5
- "@babel/helper-split-export-declaration": 7.24.5
- "@babel/helper-validator-identifier": 7.24.5
-
- "@babel/helper-plugin-utils@7.22.5": {}
-
- "@babel/helper-simple-access@7.24.5":
- dependencies:
- "@babel/types": 7.24.5
-
- "@babel/helper-split-export-declaration@7.24.5":
- dependencies:
- "@babel/types": 7.24.5
-
- "@babel/helper-string-parser@7.24.1": {}
-
- "@babel/helper-validator-identifier@7.24.5": {}
-
- "@babel/helper-validator-option@7.23.5": {}
-
- "@babel/helpers@7.24.5":
- dependencies:
- "@babel/template": 7.24.0
- "@babel/traverse": 7.24.5
- "@babel/types": 7.24.5
+ "@babel/traverse": 7.24.7
+ "@babel/types": 7.24.7
transitivePeerDependencies:
- supports-color
- "@babel/highlight@7.24.5":
+ "@babel/helper-module-transforms@7.24.7(@babel/core@7.24.7)":
dependencies:
- "@babel/helper-validator-identifier": 7.24.5
+ "@babel/core": 7.24.7
+ "@babel/helper-environment-visitor": 7.24.7
+ "@babel/helper-module-imports": 7.24.7
+ "@babel/helper-simple-access": 7.24.7
+ "@babel/helper-split-export-declaration": 7.24.7
+ "@babel/helper-validator-identifier": 7.24.7
+ transitivePeerDependencies:
+ - supports-color
+
+ "@babel/helper-plugin-utils@7.24.7": {}
+
+ "@babel/helper-simple-access@7.24.7":
+ dependencies:
+ "@babel/traverse": 7.24.7
+ "@babel/types": 7.24.7
+ transitivePeerDependencies:
+ - supports-color
+
+ "@babel/helper-split-export-declaration@7.24.7":
+ dependencies:
+ "@babel/types": 7.24.7
+
+ "@babel/helper-string-parser@7.24.7": {}
+
+ "@babel/helper-validator-identifier@7.24.7": {}
+
+ "@babel/helper-validator-option@7.24.7": {}
+
+ "@babel/helpers@7.24.7":
+ dependencies:
+ "@babel/template": 7.24.7
+ "@babel/types": 7.24.7
+
+ "@babel/highlight@7.24.7":
+ dependencies:
+ "@babel/helper-validator-identifier": 7.24.7
chalk: 2.4.2
js-tokens: 4.0.0
picocolors: 1.0.0
- "@babel/parser@7.24.5":
+ "@babel/parser@7.24.7":
dependencies:
- "@babel/types": 7.24.5
+ "@babel/types": 7.24.7
- "@babel/plugin-syntax-jsx@7.23.3(@babel/core@7.24.5)":
+ "@babel/plugin-syntax-jsx@7.24.7(@babel/core@7.24.7)":
dependencies:
- "@babel/core": 7.24.5
- "@babel/helper-plugin-utils": 7.22.5
+ "@babel/core": 7.24.7
+ "@babel/helper-plugin-utils": 7.24.7
- "@babel/plugin-transform-react-jsx@7.23.4(@babel/core@7.24.5)":
+ "@babel/plugin-transform-react-jsx@7.24.7(@babel/core@7.24.7)":
dependencies:
- "@babel/core": 7.24.5
- "@babel/helper-annotate-as-pure": 7.22.5
- "@babel/helper-module-imports": 7.22.15
- "@babel/helper-plugin-utils": 7.22.5
- "@babel/plugin-syntax-jsx": 7.23.3(@babel/core@7.24.5)
- "@babel/types": 7.24.5
+ "@babel/core": 7.24.7
+ "@babel/helper-annotate-as-pure": 7.24.7
+ "@babel/helper-module-imports": 7.24.7
+ "@babel/helper-plugin-utils": 7.24.7
+ "@babel/plugin-syntax-jsx": 7.24.7(@babel/core@7.24.7)
+ "@babel/types": 7.24.7
+ transitivePeerDependencies:
+ - supports-color
- "@babel/template@7.22.15":
+ "@babel/template@7.24.7":
dependencies:
- "@babel/code-frame": 7.24.2
- "@babel/parser": 7.24.5
- "@babel/types": 7.24.5
+ "@babel/code-frame": 7.24.7
+ "@babel/parser": 7.24.7
+ "@babel/types": 7.24.7
- "@babel/template@7.24.0":
+ "@babel/traverse@7.24.7":
dependencies:
- "@babel/code-frame": 7.24.2
- "@babel/parser": 7.24.5
- "@babel/types": 7.24.5
-
- "@babel/traverse@7.24.5":
- dependencies:
- "@babel/code-frame": 7.24.2
- "@babel/generator": 7.24.5
- "@babel/helper-environment-visitor": 7.22.20
- "@babel/helper-function-name": 7.23.0
- "@babel/helper-hoist-variables": 7.22.5
- "@babel/helper-split-export-declaration": 7.24.5
- "@babel/parser": 7.24.5
- "@babel/types": 7.24.5
+ "@babel/code-frame": 7.24.7
+ "@babel/generator": 7.24.7
+ "@babel/helper-environment-visitor": 7.24.7
+ "@babel/helper-function-name": 7.24.7
+ "@babel/helper-hoist-variables": 7.24.7
+ "@babel/helper-split-export-declaration": 7.24.7
+ "@babel/parser": 7.24.7
+ "@babel/types": 7.24.7
debug: 4.3.4
globals: 11.12.0
transitivePeerDependencies:
- supports-color
- "@babel/types@7.24.5":
+ "@babel/types@7.24.7":
dependencies:
- "@babel/helper-string-parser": 7.24.1
- "@babel/helper-validator-identifier": 7.24.5
+ "@babel/helper-string-parser": 7.24.7
+ "@babel/helper-validator-identifier": 7.24.7
to-fast-properties: 2.0.0
"@csstools/cascade-layer-name-parser@1.0.11(@csstools/css-parser-algorithms@2.6.3(@csstools/css-tokenizer@2.3.1))(@csstools/css-tokenizer@2.3.1)":
@@ -6190,14 +6229,18 @@ snapshots:
dependencies:
postcss: 8.4.33
- "@csstools/selector-resolve-nested@1.1.0(postcss-selector-parser@6.0.16)":
+ "@csstools/selector-resolve-nested@1.1.0(postcss-selector-parser@6.1.0)":
dependencies:
- postcss-selector-parser: 6.0.16
+ postcss-selector-parser: 6.1.0
"@csstools/selector-specificity@3.1.1(postcss-selector-parser@6.0.16)":
dependencies:
postcss-selector-parser: 6.0.16
+ "@csstools/selector-specificity@3.1.1(postcss-selector-parser@6.1.0)":
+ dependencies:
+ postcss-selector-parser: 6.1.0
+
"@csstools/utilities@1.0.0(postcss@8.4.33)":
dependencies:
postcss: 8.4.33
@@ -6235,139 +6278,139 @@ snapshots:
"@esbuild/aix-ppc64@0.20.2":
optional: true
- "@esbuild/aix-ppc64@0.21.3":
+ "@esbuild/aix-ppc64@0.21.4":
optional: true
"@esbuild/android-arm64@0.20.2":
optional: true
- "@esbuild/android-arm64@0.21.3":
+ "@esbuild/android-arm64@0.21.4":
optional: true
"@esbuild/android-arm@0.20.2":
optional: true
- "@esbuild/android-arm@0.21.3":
+ "@esbuild/android-arm@0.21.4":
optional: true
"@esbuild/android-x64@0.20.2":
optional: true
- "@esbuild/android-x64@0.21.3":
+ "@esbuild/android-x64@0.21.4":
optional: true
"@esbuild/darwin-arm64@0.20.2":
optional: true
- "@esbuild/darwin-arm64@0.21.3":
+ "@esbuild/darwin-arm64@0.21.4":
optional: true
"@esbuild/darwin-x64@0.20.2":
optional: true
- "@esbuild/darwin-x64@0.21.3":
+ "@esbuild/darwin-x64@0.21.4":
optional: true
"@esbuild/freebsd-arm64@0.20.2":
optional: true
- "@esbuild/freebsd-arm64@0.21.3":
+ "@esbuild/freebsd-arm64@0.21.4":
optional: true
"@esbuild/freebsd-x64@0.20.2":
optional: true
- "@esbuild/freebsd-x64@0.21.3":
+ "@esbuild/freebsd-x64@0.21.4":
optional: true
"@esbuild/linux-arm64@0.20.2":
optional: true
- "@esbuild/linux-arm64@0.21.3":
+ "@esbuild/linux-arm64@0.21.4":
optional: true
"@esbuild/linux-arm@0.20.2":
optional: true
- "@esbuild/linux-arm@0.21.3":
+ "@esbuild/linux-arm@0.21.4":
optional: true
"@esbuild/linux-ia32@0.20.2":
optional: true
- "@esbuild/linux-ia32@0.21.3":
+ "@esbuild/linux-ia32@0.21.4":
optional: true
"@esbuild/linux-loong64@0.20.2":
optional: true
- "@esbuild/linux-loong64@0.21.3":
+ "@esbuild/linux-loong64@0.21.4":
optional: true
"@esbuild/linux-mips64el@0.20.2":
optional: true
- "@esbuild/linux-mips64el@0.21.3":
+ "@esbuild/linux-mips64el@0.21.4":
optional: true
"@esbuild/linux-ppc64@0.20.2":
optional: true
- "@esbuild/linux-ppc64@0.21.3":
+ "@esbuild/linux-ppc64@0.21.4":
optional: true
"@esbuild/linux-riscv64@0.20.2":
optional: true
- "@esbuild/linux-riscv64@0.21.3":
+ "@esbuild/linux-riscv64@0.21.4":
optional: true
"@esbuild/linux-s390x@0.20.2":
optional: true
- "@esbuild/linux-s390x@0.21.3":
+ "@esbuild/linux-s390x@0.21.4":
optional: true
"@esbuild/linux-x64@0.20.2":
optional: true
- "@esbuild/linux-x64@0.21.3":
+ "@esbuild/linux-x64@0.21.4":
optional: true
"@esbuild/netbsd-x64@0.20.2":
optional: true
- "@esbuild/netbsd-x64@0.21.3":
+ "@esbuild/netbsd-x64@0.21.4":
optional: true
"@esbuild/openbsd-x64@0.20.2":
optional: true
- "@esbuild/openbsd-x64@0.21.3":
+ "@esbuild/openbsd-x64@0.21.4":
optional: true
"@esbuild/sunos-x64@0.20.2":
optional: true
- "@esbuild/sunos-x64@0.21.3":
+ "@esbuild/sunos-x64@0.21.4":
optional: true
"@esbuild/win32-arm64@0.20.2":
optional: true
- "@esbuild/win32-arm64@0.21.3":
+ "@esbuild/win32-arm64@0.21.4":
optional: true
"@esbuild/win32-ia32@0.20.2":
optional: true
- "@esbuild/win32-ia32@0.21.3":
+ "@esbuild/win32-ia32@0.21.4":
optional: true
"@esbuild/win32-x64@0.20.2":
optional: true
- "@esbuild/win32-x64@0.21.3":
+ "@esbuild/win32-x64@0.21.4":
optional: true
"@expressive-code/core@0.35.3":
@@ -6511,7 +6554,7 @@ snapshots:
"@jridgewell/resolve-uri": 3.1.1
"@jridgewell/sourcemap-codec": 1.4.15
- "@mdx-js/mdx@3.0.0":
+ "@mdx-js/mdx@3.0.1":
dependencies:
"@types/estree": 1.0.5
"@types/estree-jsx": 1.0.3
@@ -6618,6 +6661,8 @@ snapshots:
"@shikijs/core@1.5.2": {}
+ "@shikijs/core@1.6.3": {}
+
"@trysound/sax@0.2.0": {}
"@types/acorn@4.0.6":
@@ -6626,24 +6671,24 @@ snapshots:
"@types/babel__core@7.20.5":
dependencies:
- "@babel/parser": 7.24.5
- "@babel/types": 7.24.5
+ "@babel/parser": 7.24.7
+ "@babel/types": 7.24.7
"@types/babel__generator": 7.6.7
"@types/babel__template": 7.4.4
"@types/babel__traverse": 7.20.4
"@types/babel__generator@7.6.7":
dependencies:
- "@babel/types": 7.24.5
+ "@babel/types": 7.24.7
"@types/babel__template@7.4.4":
dependencies:
- "@babel/parser": 7.24.5
- "@babel/types": 7.24.5
+ "@babel/parser": 7.24.7
+ "@babel/types": 7.24.7
"@types/babel__traverse@7.20.4":
dependencies:
- "@babel/types": 7.24.5
+ "@babel/types": 7.24.7
"@types/cookie@0.6.0": {}
@@ -6673,6 +6718,10 @@ snapshots:
dependencies:
"@types/unist": 2.0.10
+ "@types/nlcst@2.0.3":
+ dependencies:
+ "@types/unist": 3.0.2
+
"@types/node@17.0.45": {}
"@types/sax@1.2.7":
@@ -6745,11 +6794,9 @@ snapshots:
"@vscode/l10n@0.0.18": {}
- acorn-jsx@5.3.2(acorn@8.11.2):
+ acorn-jsx@5.3.2(acorn@8.11.3):
dependencies:
- acorn: 8.11.2
-
- acorn@8.11.2: {}
+ acorn: 8.11.3
acorn@8.11.3: {}
@@ -6794,23 +6841,23 @@ snapshots:
astring@1.8.6: {}
- astro-expressive-code@0.35.3(astro@4.8.6(typescript@5.4.5)):
+ astro-expressive-code@0.35.3(astro@4.10.1(typescript@5.4.5)):
dependencies:
- astro: 4.8.6(typescript@5.4.5)
+ astro: 4.10.1(typescript@5.4.5)
rehype-expressive-code: 0.35.3
- astro@4.8.6(typescript@5.4.5):
+ astro@4.10.1(typescript@5.4.5):
dependencies:
"@astrojs/compiler": 2.8.0
"@astrojs/internal-helpers": 0.4.0
"@astrojs/markdown-remark": 5.1.0
"@astrojs/telemetry": 3.1.0
- "@babel/core": 7.24.5
- "@babel/generator": 7.24.5
- "@babel/parser": 7.24.5
- "@babel/plugin-transform-react-jsx": 7.23.4(@babel/core@7.24.5)
- "@babel/traverse": 7.24.5
- "@babel/types": 7.24.5
+ "@babel/core": 7.24.7
+ "@babel/generator": 7.24.7
+ "@babel/parser": 7.24.7
+ "@babel/plugin-transform-react-jsx": 7.24.7(@babel/core@7.24.7)
+ "@babel/traverse": 7.24.7
+ "@babel/types": 7.24.7
"@types/babel__core": 7.20.5
"@types/cookie": 0.6.0
acorn: 8.11.3
@@ -6829,8 +6876,8 @@ snapshots:
diff: 5.2.0
dlv: 1.1.3
dset: 3.1.3
- es-module-lexer: 1.5.2
- esbuild: 0.21.3
+ es-module-lexer: 1.5.3
+ esbuild: 0.21.4
estree-walker: 3.0.3
execa: 8.0.1
fast-glob: 3.3.2
@@ -6852,15 +6899,15 @@ snapshots:
rehype: 13.0.1
resolve: 1.22.8
semver: 7.6.2
- shiki: 1.5.2
+ shiki: 1.6.3
string-width: 7.1.0
strip-ansi: 7.1.0
- tsconfck: 3.0.3(typescript@5.4.5)
+ tsconfck: 3.1.0(typescript@5.4.5)
unist-util-visit: 5.0.0
vfile: 6.0.1
- vite: 5.2.11
- vitefu: 0.2.5(vite@5.2.11)
- which-pm: 2.1.1
+ vite: 5.2.13
+ vitefu: 0.2.5(vite@5.2.13)
+ which-pm: 2.2.0
yargs-parser: 21.1.1
zod: 3.23.8
zod-to-json-schema: 3.23.0(zod@3.23.8)
@@ -7111,7 +7158,7 @@ snapshots:
cssesc@3.0.0: {}
- cssnano-preset-default@7.0.1(postcss@8.4.33):
+ cssnano-preset-default@7.0.2(postcss@8.4.33):
dependencies:
browserslist: 4.23.0
css-declaration-sorter: 7.2.0(postcss@8.4.33)
@@ -7124,12 +7171,12 @@ snapshots:
postcss-discard-duplicates: 7.0.0(postcss@8.4.33)
postcss-discard-empty: 7.0.0(postcss@8.4.33)
postcss-discard-overridden: 7.0.0(postcss@8.4.33)
- postcss-merge-longhand: 7.0.0(postcss@8.4.33)
- postcss-merge-rules: 7.0.0(postcss@8.4.33)
+ postcss-merge-longhand: 7.0.1(postcss@8.4.33)
+ postcss-merge-rules: 7.0.1(postcss@8.4.33)
postcss-minify-font-values: 7.0.0(postcss@8.4.33)
postcss-minify-gradients: 7.0.0(postcss@8.4.33)
postcss-minify-params: 7.0.0(postcss@8.4.33)
- postcss-minify-selectors: 7.0.0(postcss@8.4.33)
+ postcss-minify-selectors: 7.0.1(postcss@8.4.33)
postcss-normalize-charset: 7.0.0(postcss@8.4.33)
postcss-normalize-display-values: 7.0.0(postcss@8.4.33)
postcss-normalize-positions: 7.0.0(postcss@8.4.33)
@@ -7142,16 +7189,16 @@ snapshots:
postcss-ordered-values: 7.0.0(postcss@8.4.33)
postcss-reduce-initial: 7.0.0(postcss@8.4.33)
postcss-reduce-transforms: 7.0.0(postcss@8.4.33)
- postcss-svgo: 7.0.0(postcss@8.4.33)
- postcss-unique-selectors: 7.0.0(postcss@8.4.33)
+ postcss-svgo: 7.0.1(postcss@8.4.33)
+ postcss-unique-selectors: 7.0.1(postcss@8.4.33)
cssnano-utils@5.0.0(postcss@8.4.33):
dependencies:
postcss: 8.4.33
- cssnano@7.0.1(postcss@8.4.33):
+ cssnano@7.0.2(postcss@8.4.33):
dependencies:
- cssnano-preset-default: 7.0.1(postcss@8.4.33)
+ cssnano-preset-default: 7.0.2(postcss@8.4.33)
lilconfig: 3.1.1
postcss: 8.4.33
@@ -7226,9 +7273,7 @@ snapshots:
entities@4.5.0: {}
- es-module-lexer@1.4.1: {}
-
- es-module-lexer@1.5.2: {}
+ es-module-lexer@1.5.3: {}
esbuild@0.20.2:
optionalDependencies:
@@ -7256,31 +7301,31 @@ snapshots:
"@esbuild/win32-ia32": 0.20.2
"@esbuild/win32-x64": 0.20.2
- esbuild@0.21.3:
+ esbuild@0.21.4:
optionalDependencies:
- "@esbuild/aix-ppc64": 0.21.3
- "@esbuild/android-arm": 0.21.3
- "@esbuild/android-arm64": 0.21.3
- "@esbuild/android-x64": 0.21.3
- "@esbuild/darwin-arm64": 0.21.3
- "@esbuild/darwin-x64": 0.21.3
- "@esbuild/freebsd-arm64": 0.21.3
- "@esbuild/freebsd-x64": 0.21.3
- "@esbuild/linux-arm": 0.21.3
- "@esbuild/linux-arm64": 0.21.3
- "@esbuild/linux-ia32": 0.21.3
- "@esbuild/linux-loong64": 0.21.3
- "@esbuild/linux-mips64el": 0.21.3
- "@esbuild/linux-ppc64": 0.21.3
- "@esbuild/linux-riscv64": 0.21.3
- "@esbuild/linux-s390x": 0.21.3
- "@esbuild/linux-x64": 0.21.3
- "@esbuild/netbsd-x64": 0.21.3
- "@esbuild/openbsd-x64": 0.21.3
- "@esbuild/sunos-x64": 0.21.3
- "@esbuild/win32-arm64": 0.21.3
- "@esbuild/win32-ia32": 0.21.3
- "@esbuild/win32-x64": 0.21.3
+ "@esbuild/aix-ppc64": 0.21.4
+ "@esbuild/android-arm": 0.21.4
+ "@esbuild/android-arm64": 0.21.4
+ "@esbuild/android-x64": 0.21.4
+ "@esbuild/darwin-arm64": 0.21.4
+ "@esbuild/darwin-x64": 0.21.4
+ "@esbuild/freebsd-arm64": 0.21.4
+ "@esbuild/freebsd-x64": 0.21.4
+ "@esbuild/linux-arm": 0.21.4
+ "@esbuild/linux-arm64": 0.21.4
+ "@esbuild/linux-ia32": 0.21.4
+ "@esbuild/linux-loong64": 0.21.4
+ "@esbuild/linux-mips64el": 0.21.4
+ "@esbuild/linux-ppc64": 0.21.4
+ "@esbuild/linux-riscv64": 0.21.4
+ "@esbuild/linux-s390x": 0.21.4
+ "@esbuild/linux-x64": 0.21.4
+ "@esbuild/netbsd-x64": 0.21.4
+ "@esbuild/openbsd-x64": 0.21.4
+ "@esbuild/sunos-x64": 0.21.4
+ "@esbuild/win32-arm64": 0.21.4
+ "@esbuild/win32-ia32": 0.21.4
+ "@esbuild/win32-x64": 0.21.4
escalade@3.1.1: {}
@@ -7536,21 +7581,6 @@ snapshots:
transitivePeerDependencies:
- supports-color
- hast-util-to-html@9.0.0:
- dependencies:
- "@types/hast": 3.0.3
- "@types/unist": 3.0.2
- ccount: 2.0.1
- comma-separated-tokens: 2.0.3
- hast-util-raw: 9.0.1
- hast-util-whitespace: 3.0.0
- html-void-elements: 3.0.0
- mdast-util-to-hast: 13.0.2
- property-information: 6.4.0
- space-separated-tokens: 2.0.2
- stringify-entities: 4.0.3
- zwitch: 2.0.4
-
hast-util-to-html@9.0.1:
dependencies:
"@types/hast": 3.0.3
@@ -8104,8 +8134,8 @@ snapshots:
micromark-extension-mdxjs@3.0.0:
dependencies:
- acorn: 8.11.2
- acorn-jsx: 5.3.2(acorn@8.11.2)
+ acorn: 8.11.3
+ acorn-jsx: 5.3.2(acorn@8.11.3)
micromark-extension-mdx-expression: 3.0.0
micromark-extension-mdx-jsx: 3.0.0
micromark-extension-mdx-md: 2.0.0
@@ -8280,6 +8310,10 @@ snapshots:
dependencies:
"@types/nlcst": 1.0.4
+ nlcst-to-string@4.0.0:
+ dependencies:
+ "@types/nlcst": 2.0.3
+
node-releases@2.0.14: {}
normalize-path@3.0.0: {}
@@ -8378,6 +8412,15 @@ snapshots:
unist-util-modify-children: 3.1.1
unist-util-visit-children: 2.0.2
+ parse-latin@7.0.0:
+ dependencies:
+ "@types/nlcst": 2.0.3
+ "@types/unist": 3.0.2
+ nlcst-to-string: 4.0.0
+ unist-util-modify-children: 4.0.0
+ unist-util-visit-children: 3.0.0
+ vfile: 6.0.1
+
parse5@7.1.2:
dependencies:
entities: 4.5.0
@@ -8584,19 +8627,19 @@ snapshots:
postcss: 8.4.33
postcss-value-parser: 4.2.0
- postcss-merge-longhand@7.0.0(postcss@8.4.33):
+ postcss-merge-longhand@7.0.1(postcss@8.4.33):
dependencies:
postcss: 8.4.33
postcss-value-parser: 4.2.0
- stylehacks: 7.0.0(postcss@8.4.33)
+ stylehacks: 7.0.1(postcss@8.4.33)
- postcss-merge-rules@7.0.0(postcss@8.4.33):
+ postcss-merge-rules@7.0.1(postcss@8.4.33):
dependencies:
browserslist: 4.23.0
caniuse-api: 3.0.0
cssnano-utils: 5.0.0(postcss@8.4.33)
postcss: 8.4.33
- postcss-selector-parser: 6.0.16
+ postcss-selector-parser: 6.1.0
postcss-minify-font-values@7.0.0(postcss@8.4.33):
dependencies:
@@ -8617,10 +8660,10 @@ snapshots:
postcss: 8.4.33
postcss-value-parser: 4.2.0
- postcss-minify-selectors@7.0.0(postcss@8.4.33):
+ postcss-minify-selectors@7.0.1(postcss@8.4.33):
dependencies:
postcss: 8.4.33
- postcss-selector-parser: 6.0.16
+ postcss-selector-parser: 6.1.0
postcss-nested@6.0.1(postcss@8.4.33):
dependencies:
@@ -8632,12 +8675,12 @@ snapshots:
postcss: 8.4.38
postcss-selector-parser: 6.0.13
- postcss-nesting@12.1.4(postcss@8.4.33):
+ postcss-nesting@12.1.5(postcss@8.4.33):
dependencies:
- "@csstools/selector-resolve-nested": 1.1.0(postcss-selector-parser@6.0.16)
- "@csstools/selector-specificity": 3.1.1(postcss-selector-parser@6.0.16)
+ "@csstools/selector-resolve-nested": 1.1.0(postcss-selector-parser@6.1.0)
+ "@csstools/selector-specificity": 3.1.1(postcss-selector-parser@6.1.0)
postcss: 8.4.33
- postcss-selector-parser: 6.0.16
+ postcss-selector-parser: 6.1.0
postcss-normalize-charset@7.0.0(postcss@8.4.33):
dependencies:
@@ -8708,7 +8751,7 @@ snapshots:
postcss: 8.4.33
postcss-value-parser: 4.2.0
- postcss-preset-env@9.5.13(postcss@8.4.33):
+ postcss-preset-env@9.5.14(postcss@8.4.33):
dependencies:
"@csstools/postcss-cascade-layers": 4.0.6(postcss@8.4.33)
"@csstools/postcss-color-function": 3.0.16(postcss@8.4.33)
@@ -8763,7 +8806,7 @@ snapshots:
postcss-image-set-function: 6.0.3(postcss@8.4.33)
postcss-lab-function: 6.0.16(postcss@8.4.33)
postcss-logical: 7.0.1(postcss@8.4.33)
- postcss-nesting: 12.1.4(postcss@8.4.33)
+ postcss-nesting: 12.1.5(postcss@8.4.33)
postcss-opacity-percentage: 2.0.0(postcss@8.4.33)
postcss-overflow-shorthand: 5.0.1(postcss@8.4.33)
postcss-page-break: 3.0.4(postcss@8.4.33)
@@ -8807,16 +8850,21 @@ snapshots:
cssesc: 3.0.0
util-deprecate: 1.0.2
- postcss-svgo@7.0.0(postcss@8.4.33):
+ postcss-selector-parser@6.1.0:
+ dependencies:
+ cssesc: 3.0.0
+ util-deprecate: 1.0.2
+
+ postcss-svgo@7.0.1(postcss@8.4.33):
dependencies:
postcss: 8.4.33
postcss-value-parser: 4.2.0
svgo: 3.3.2
- postcss-unique-selectors@7.0.0(postcss@8.4.33):
+ postcss-unique-selectors@7.0.1(postcss@8.4.33):
dependencies:
postcss: 8.4.33
- postcss-selector-parser: 6.0.16
+ postcss-selector-parser: 6.1.0
postcss-value-parser@4.2.0: {}
@@ -8902,7 +8950,7 @@ snapshots:
rehype-stringify@10.0.0:
dependencies:
"@types/hast": 3.0.3
- hast-util-to-html: 9.0.0
+ hast-util-to-html: 9.0.1
unified: 11.0.4
rehype@13.0.1:
@@ -8962,6 +9010,13 @@ snapshots:
retext-smartypants: 5.2.0
unist-util-visit: 4.1.2
+ remark-smartypants@3.0.1:
+ dependencies:
+ retext: 9.0.0
+ retext-smartypants: 6.1.0
+ unified: 11.0.4
+ unist-util-visit: 5.0.0
+
remark-stringify@11.0.0:
dependencies:
"@types/mdast": 4.0.3
@@ -8990,6 +9045,12 @@ snapshots:
unherit: 3.0.1
unified: 10.1.2
+ retext-latin@4.0.0:
+ dependencies:
+ "@types/nlcst": 2.0.3
+ parse-latin: 7.0.0
+ unified: 11.0.4
+
retext-smartypants@5.2.0:
dependencies:
"@types/nlcst": 1.0.4
@@ -8997,12 +9058,24 @@ snapshots:
unified: 10.1.2
unist-util-visit: 4.1.2
+ retext-smartypants@6.1.0:
+ dependencies:
+ "@types/nlcst": 2.0.3
+ nlcst-to-string: 4.0.0
+ unist-util-visit: 5.0.0
+
retext-stringify@3.1.0:
dependencies:
"@types/nlcst": 1.0.4
nlcst-to-string: 3.1.1
unified: 10.1.2
+ retext-stringify@4.0.0:
+ dependencies:
+ "@types/nlcst": 2.0.3
+ nlcst-to-string: 4.0.0
+ unified: 11.0.4
+
retext@8.1.0:
dependencies:
"@types/nlcst": 1.0.4
@@ -9010,6 +9083,13 @@ snapshots:
retext-stringify: 3.1.0
unified: 10.1.2
+ retext@9.0.0:
+ dependencies:
+ "@types/nlcst": 2.0.3
+ retext-latin: 4.0.0
+ retext-stringify: 4.0.0
+ unified: 11.0.4
+
reusify@1.0.4: {}
rollup@4.17.2:
@@ -9089,6 +9169,10 @@ snapshots:
dependencies:
"@shikijs/core": 1.5.2
+ shiki@1.6.3:
+ dependencies:
+ "@shikijs/core": 1.6.3
+
signal-exit@3.0.7: {}
signal-exit@4.1.0: {}
@@ -9163,11 +9247,11 @@ snapshots:
dependencies:
inline-style-parser: 0.2.2
- stylehacks@7.0.0(postcss@8.4.33):
+ stylehacks@7.0.1(postcss@8.4.33):
dependencies:
browserslist: 4.23.0
postcss: 8.4.33
- postcss-selector-parser: 6.0.16
+ postcss-selector-parser: 6.1.0
sucrase@3.34.0:
dependencies:
@@ -9242,7 +9326,7 @@ snapshots:
ts-interface-checker@0.1.13: {}
- tsconfck@3.0.3(typescript@5.4.5):
+ tsconfck@3.1.0(typescript@5.4.5):
optionalDependencies:
typescript: 5.4.5
@@ -9299,6 +9383,11 @@ snapshots:
"@types/unist": 2.0.10
array-iterate: 2.0.1
+ unist-util-modify-children@4.0.0:
+ dependencies:
+ "@types/unist": 3.0.2
+ array-iterate: 2.0.1
+
unist-util-position-from-estree@2.0.0:
dependencies:
"@types/unist": 3.0.2
@@ -9324,6 +9413,10 @@ snapshots:
dependencies:
"@types/unist": 2.0.10
+ unist-util-visit-children@3.0.0:
+ dependencies:
+ "@types/unist": 3.0.2
+
unist-util-visit-parents@5.1.3:
dependencies:
"@types/unist": 2.0.10
@@ -9382,7 +9475,7 @@ snapshots:
unist-util-stringify-position: 4.0.0
vfile-message: 4.0.2
- vite@5.2.11:
+ vite@5.2.13:
dependencies:
esbuild: 0.20.2
postcss: 8.4.38
@@ -9390,9 +9483,9 @@ snapshots:
optionalDependencies:
fsevents: 2.3.3
- vitefu@0.2.5(vite@5.2.11):
+ vitefu@0.2.5(vite@5.2.13):
optionalDependencies:
- vite: 5.2.11
+ vite: 5.2.13
volar-service-css@0.0.45(@volar/language-service@2.2.4):
dependencies:
@@ -9482,7 +9575,7 @@ snapshots:
load-yaml-file: 0.2.0
path-exists: 4.0.0
- which-pm@2.1.1:
+ which-pm@2.2.0:
dependencies:
load-yaml-file: 0.2.0
path-exists: 4.0.0
@@ -9537,8 +9630,6 @@ snapshots:
dependencies:
zod: 3.23.8
- zod@3.22.4: {}
-
zod@3.23.8: {}
zwitch@2.0.4: {}
diff --git a/docs/src/content/docs/en/plugins/create.mdx b/docs/src/content/docs/en/plugins/create.mdx
index 2941e830..0e2b55db 100644
--- a/docs/src/content/docs/en/plugins/create.mdx
+++ b/docs/src/content/docs/en/plugins/create.mdx
@@ -2,24 +2,29 @@
title: Creating a Plugin
---
-import { FileTree, Steps } from "@astrojs/starlight/components";
+import { FileTree, Steps, Badge } from "@astrojs/starlight/components";
In order to get started, you first need to
[setup your Castopod dev environment](https://code.castopod.org/adaures/castopod/-/blob/develop/CONTRIBUTING-DEV.md).
-## Using the create command
+## 1. Create the plugin folder
-To quickly get you started, you can create a plugin using the following CLI
-command:
+You'll first need to create your [plugin folder](./#plugin-folder-structure) in
+the `plugins/` directory.
+
+### Using the create command
+
+To quickly get you started, you can have a folder generated for you using the
+following CLI command:
```sh
php spark plugins:create
```
-👉 Follow the CLI instructions: you will be prompted for metadata and hooks
-definitions to generate the [plugin folder](./#plugin-folder-structure) for you.
+👉 You will be prompted for metadata and hooks usage to have a skeleton plugin
+project generated for you!
-## Manual setup
+### Manual setup
1. create a plugin folder inside a vendor directory
@@ -54,3 +59,58 @@ definitions to generate the [plugin folder](./#plugin-folder-structure) for you.
+
+## 2. Build your plugin
+
+Now that your plugin folder is set, you can start working on your Plugin's logic
+by implementing [the hooks](./hooks) needed.
+
+### Settings forms
+
+You can prompt users for data through settings forms.
+
+These forms can be built declaratively using the
+[settings attribute](./manifest#settings) in your manifest.
+
+```json
+// manifest.json
+{
+ "settings": {
+ "general": {
+ "field-key": {
+ "type": "text",
+ "label": "Enter a text"
+ }
+ },
+ "podcast": {
+ "field-key": {
+ "type": "text",
+ "label": "Enter a text for this podcast"
+ }
+ },
+ "episode": {
+ "field-key": {
+ "type": "type",
+ "label": "Enter a text for this episode"
+ }
+ }
+ }
+}
+```
+
+This example will generate settings forms at 3 levels:
+
+- `general`: a general form to prompt data to be used by the plugin
+- `podcast`: a form for each podcast to prompt for podcast specific data
+- `episode`: a form for each episode to prompt for episode specific data
+
+The data can then be accessed in the Plugin class methods via helper methods
+taking in the field key:
+
+```php
+$this->getGeneralSetting('field-key');
+
+$this->getPodcastSetting($podcast->id, 'field-key');
+
+$this->getEpisodeSetting($episode->id, 'field-key');
+```
diff --git a/docs/src/content/docs/en/plugins/helpers.mdx b/docs/src/content/docs/en/plugins/helpers.mdx
deleted file mode 100644
index 3630207c..00000000
--- a/docs/src/content/docs/en/plugins/helpers.mdx
+++ /dev/null
@@ -1,3 +0,0 @@
----
-title: BasePlugin
----
diff --git a/docs/src/content/docs/en/plugins/hooks.mdx b/docs/src/content/docs/en/plugins/hooks.mdx
index cd683170..cfa1e225 100644
--- a/docs/src/content/docs/en/plugins/hooks.mdx
+++ b/docs/src/content/docs/en/plugins/hooks.mdx
@@ -2,8 +2,8 @@
title: Hooks reference
---
-Hooks are methods that live in the Plugin class, they are executed in parts of
-the Castopod codebase.
+Hooks are methods of the Plugin class, they are executed in parts of the
+Castopod codebase.
## List
@@ -17,6 +17,11 @@ the Castopod codebase.
### rssBeforeChannel
+This hook is executed just before rendering the `` tag in the Podcast
+RSS feed using the given Podcast object.
+
+Here is a good place to alter the Podcast object.
+
```php
public function rssBeforeChannel(Podcast $podcast): void
{
@@ -26,8 +31,13 @@ public function rssBeforeChannel(Podcast $podcast): void
### rssAfterChannel
+This hook is executed after rendering all of the `` tags in the Podcast
+RSS feed.
+
+Here is a good place to add new tags to the generated channel.
+
```php
-public function rssAfterChannel(Podcast $podcast, SimpleRSSElement $rss): void
+public function rssAfterChannel(Podcast $podcast, SimpleRSSElement $channel): void
{
// …
}
@@ -35,6 +45,11 @@ public function rssAfterChannel(Podcast $podcast, SimpleRSSElement $rss): void
### rssBeforeItem
+This hook is executed before rendering an `- ` tag in the Podcast RSS feed
+using the given Episode object.
+
+Here is a good place to alter the Episode object.
+
```php
public function rssBeforeItem(Episode $episode): void
{
@@ -44,8 +59,13 @@ public function rssBeforeItem(Episode $episode): void
### rssAfterItem
+This hook is executed after rendering an `
- `'s tags in the Podcast RSS
+feed.
+
+Here is a good place to add new tags to the generated item.
+
```php
-public function rssAfterItem(Epsiode $episode, SimpleRSSElement $rss): void
+public function rssAfterItem(Epsiode $episode, SimpleRSSElement $item): void
{
// …
}
@@ -53,6 +73,11 @@ public function rssAfterItem(Epsiode $episode, SimpleRSSElement $rss): void
### siteHead
+This hook is executed in the public pages' `` tag.
+
+This is a good place to add meta tags and third-party scripts to Castopod's
+public pages.
+
```php
public function siteHead(): void
{
diff --git a/docs/src/content/docs/en/plugins/index.mdx b/docs/src/content/docs/en/plugins/index.mdx
index 4e16b87c..f8da83b2 100644
--- a/docs/src/content/docs/en/plugins/index.mdx
+++ b/docs/src/content/docs/en/plugins/index.mdx
@@ -2,7 +2,7 @@
title: Castopod Plugins
---
-import { FileTree, Aside } from "@astrojs/starlight/components";
+import { FileTree, Aside, Tabs, TabItem } from "@astrojs/starlight/components";
Plugins are ways to extend Castopod's core features.
@@ -16,13 +16,13 @@ Plugins are ways to extend Castopod's core features.
- fr.json
- …
- icon.svg
- - [manifest.json](./manifest) // required
- - [Plugin.php](#plugin-class) // required
+ - manifest.json // required
+ - Plugin.php // required
- README.md
-Plugins reside in the `plugins` folder under a **vendor** folder, ie. the
+Plugins reside in the `plugins/` directory under a `vendor/` folder, ie. the
organisation or person who authored the plugin.
@@ -35,15 +35,16 @@ organisation or person who authored the plugin.
-### manifest.json (required)
+### Plugin manifest (required)
-The plugin manifest is a JSON file containing your plugin's metadata and
-permissions.
+The plugin manifest is a JSON file containing the plugin's metadata and
+declarations.
This file will determine whether a plugin is valid or not. The minimal required
data being:
```json
+// manifest.json
{
"name": "acme/hello-world",
"version": "1.0.0"
@@ -52,12 +53,12 @@ data being:
Checkout the [manifest.json reference](./manifest).
-
Plugin class (required)
+### Plugin class (required)
-This is where your plugin's logic will live.
+This is where the plugin's logic lives.
-The Plugin class must extend Castopod's BasePlugin class and implement one or
-multiple [Hooks](./hooks) (methods).
+The Plugin class extends Castopod's BasePlugin class and implements one or more
+[Hooks](./hooks) (methods) intended to be run throughout Castopod's codebase.
```php
// Plugin.php
@@ -69,7 +70,11 @@ use Modules\Plugins\Core\BasePlugin;
class AcmeHelloWorldPlugin extends BasePlugin
{
- // …
+ // this rssBeforeChannel method is a Hook
+ public function rssBeforeChannel(Podcast $podcast): void
+ {
+ // …
+ }
}
```
@@ -85,14 +90,14 @@ For example, a plugin living under the `acme/hello-world` folder must be named
-### README.md
+### Plugin README
-The `README.md` file is loaded into the plugin's view page for the user to
-read.
+The `README.md` file is loaded into the plugin's view page for the user to read
+through.
It should be used for any additional information to help guide the user in using
the plugin.
-### icon.svg
+### Plugin icon
The plugin icon is displayed next to its title, it is an SVG file intended to
give a graphical representation of the plugin.
@@ -101,8 +106,8 @@ The icon should be squared, and be legible in a 64px by 64px circle.
### Internationalization (i18n)
-Translation strings live under the `i18n` folder. Translation files are JSON
-files named as locale keys:
+Plugins can be translated. Translation strings live inside the `i18n` folder.
+Translation files are JSON files named as locale keys:
@@ -118,16 +123,45 @@ Supported locales are:
`br`,`ca`,`de`,`en`,`es`,`fr`,`nn-no`,`pl`,`pt-br`,`sr-latn`,`zh-hans`.
The translation strings allow you to translate the title, description and
-settings keys.
+settings keys (ie. labels, hints, helpers, etc.).
-```json
-{
- "title": "Hello, World!",
- "description": "A Castopod plugin to greet the world!",
- "settings": {
- "general": {},
- "podcast": {},
- "episode": {}
- }
-}
-```
+
+
+ ```json
+ // i18n/en.json
+ {
+ "title": "Hello, World!",
+ "description": "A Castopod plugin to greet the world!",
+ "settings": {
+ "general": {
+ "field-key": {
+ "label": "Enter a text",
+ "hint": "You can enter any type of character."
+ }
+ },
+ "podcast": {},
+ "episode": {}
+ }
+ }
+ ```
+
+
+ ```json
+ // i18n/fr.json
+ {
+ "title": "Bonjour, le Monde !",
+ "description": "Un plugin castopod pour saluer le monde !",
+ "settings": {
+ "general": {
+ "field-key": {
+ "label": "Saisissez un texte",
+ "hint": "Vous pouvez saisir n'importe quel type de caractère."
+ }
+ },
+ "podcast": {},
+ "episode": {}
+ }
+ }
+ ```
+
+
diff --git a/docs/src/content/docs/en/plugins/manifest.mdx b/docs/src/content/docs/en/plugins/manifest.mdx
index b1754f56..8941bce9 100644
--- a/docs/src/content/docs/en/plugins/manifest.mdx
+++ b/docs/src/content/docs/en/plugins/manifest.mdx
@@ -7,7 +7,14 @@ a JSON file.
### name (required)
-The plugin name, including 'vendor-name/' prefix.
+The plugin name, including 'vendor-name/' prefix. Examples:
+
+- acme/hello-world
+- adaures/click
+
+The name must be lowercase and consist of words separated by `-`, `.` or `_`.
+The complete name should match
+`^[a-z0-9]([_.-]?[a-z0-9]+)*\/[a-z0-9]([_.-]?[a-z0-9]+)*$`.
### version (required)
@@ -15,8 +22,8 @@ The plugin's semantic version (eg. 1.0.0) - see https://semver.org/
### description
-The plugin's description. This helps people discover your plugin as it's listed
-in repositories
+The plugin's description. This helps people discover your plugin when listed in
+repositories.
### authors
@@ -25,7 +32,7 @@ a required "name" field and optional "email" and "url" fields:
```json
{
- "name": "Jean D'eau",
+ "name": "Jean Deau",
"email": "jean.deau@example.com",
"url": "https://example.com/"
}
@@ -34,7 +41,7 @@ a required "name" field and optional "email" and "url" fields:
Or you can shorten the object into a single string:
```json
-"Jean D'eau (https://example.com/)"
+"Jean Deau (https://example.com/)"
```
### homepage
@@ -43,17 +50,79 @@ The URL to the project homepage.
### license
-You should specify a license for your plugin so that people know how they are
-permitted to use it, and any restrictions you're placing on it.
+Specify a license for your plugin so that people know how they are permitted to
+use it, and any restrictions you're placing on it.
### private
+Whether or not to publish the plugin in public directories. If set to `true`,
+directories should refuse to publish the plugin.
+
### keywords
+Array of strings to help your plugin get discovered when listed in repositories.
+
### hooks
+List of hooks used by the plugin. If the hook is not specified, Castopod will
+not run it.
+
### settings
+Declare settings forms for persisting user data. The plugin's settings forms can
+be declared at three levels: `general`, `podcast`, and `episode`.
+
+Each level accepts one or more fields, identified by a key.
+
+```json
+{
+ "settings": {
+ "general": { // general settings form
+ "field-key": {
+ "type": "text", // default field type: a text input
+ "label": "Enter a text"
+ },
+ …
+ },
+ "podcast": {…}, // settings form for each podcast
+ "episode": {…}, // settings form for each episode
+ }
+}
+```
+
+The `general`, `podcast`, and `episode` settings are of `Fields` object with
+each property being a field key and the value being a `Field` object.
+
+#### Field object
+
+A field is a form element:
+
+| Property | Type | Note |
+| ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------ |
+| `type` | `checkbox` \| `datetime` \| `email` \| `markdown` \| `number` \| `radio-group` \| `select-multiple` \| `select` \| `text` \| `textarea` \| `toggler` \| `url` | Default is `text` |
+| `label` (required) | `string` | Can be translated (see i18n) |
+| `hint` | `string` | Can be translated (see i18n) |
+| `helper` | `string` | Can be translated (see i18n) |
+| `optional` | `boolean` | Default is `false` |
+| `options` | `Options` | Required for `radio-group`, `select-multiple`, and `select` types. |
+
+#### Options object
+
+The `Options` object properties are option keys and the value is an `Option`.
+
+##### Option object
+
+| Property | Type | Note |
+| ------------------ | -------- | ---------------------------- |
+| `label` (required) | `string` | Can be translated (see i18n) |
+| `hint` | `string` | Can be translated (see i18n) |
+
### files
+Array of file patterns that describes the entries to be included when your
+plugin is installed.
+
### repository
+
+Repository where the plugin's code lives. Helpful for people who want to
+contribute.
diff --git a/modules/Plugins/Manifest/Field.php b/modules/Plugins/Manifest/Field.php
index 74f0fde3..02075023 100644
--- a/modules/Plugins/Manifest/Field.php
+++ b/modules/Plugins/Manifest/Field.php
@@ -4,6 +4,8 @@ declare(strict_types=1);
namespace Modules\Plugins\Manifest;
+use Override;
+
/**
* @property string $key
* @property 'text'|'email'|'url'|'markdown'|'number'|'switch' $type
@@ -45,6 +47,22 @@ class Field extends ManifestObject
*/
protected array $options = [];
+ #[Override]
+ public function loadData(array $data): void
+ {
+ if (array_key_exists('options', $data)) {
+ $newOptions = [];
+ foreach ($data['options'] as $key => $option) {
+ $option['value'] = $key;
+ $newOptions[] = $option;
+ }
+
+ $data['options'] = $newOptions;
+ }
+
+ parent::loadData($data);
+ }
+
/**
* @return array{label:string,value:string,hint:string}[]
*/
diff --git a/modules/Plugins/Manifest/Fields.php b/modules/Plugins/Manifest/Fields.php
deleted file mode 100644
index 08db788d..00000000
--- a/modules/Plugins/Manifest/Fields.php
+++ /dev/null
@@ -1,16 +0,0 @@
-