Nuxt Nation 2023: Daniel Roe - A New Nuxt - Release of Nuxt v3.8
@@ -31,5 +35,12 @@ function changeVideo() {
>
change video
+
+
+ change video needs fallback
+
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index f0ba1065..f029e58b 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -208,8 +208,8 @@ importers:
specifier: ^1.2.23
version: 1.2.23
'@nuxt/content':
- specifier: ^3.1.0
- version: 3.1.0(magicast@0.3.5)(rollup@4.34.4)(typescript@5.6.3)
+ specifier: ^2.13.4
+ version: 2.13.4(db0@0.2.3(better-sqlite3@11.8.1))(ioredis@5.4.2)(magicast@0.3.5)(nuxt@3.15.4(@parcel/watcher@2.5.0)(@types/node@22.13.1)(better-sqlite3@11.8.1)(db0@0.2.3(better-sqlite3@11.8.1))(eslint@9.19.0(jiti@2.4.2))(ioredis@5.4.2)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.34.4)(terser@5.38.1)(tsx@4.19.2)(typescript@5.6.3)(vite@6.1.0(@types/node@22.13.1)(jiti@2.4.2)(terser@5.38.1)(tsx@4.19.2)(yaml@2.7.0))(vue-tsc@2.2.0(typescript@5.6.3))(yaml@2.7.0))(rollup@4.34.4)(vue@3.5.13(typescript@5.6.3))
'@nuxt/fonts':
specifier: ^0.10.3
version: 0.10.3(db0@0.2.3(better-sqlite3@11.8.1))(ioredis@5.4.2)(magicast@0.3.5)(rollup@4.34.4)(vite@6.1.0(@types/node@22.13.1)(jiti@2.4.2)(terser@5.38.1)(tsx@4.19.2)(yaml@2.7.0))
@@ -1117,19 +1117,8 @@ packages:
engines: {node: ^16.10.0 || >=18.0.0}
hasBin: true
- '@nuxt/content@3.1.0':
- resolution: {integrity: sha512-/KQUbkdvGjp1UpzvSAgrPZ17JKrUAuQIlpILVm7IspoBXPgH/TMw2ghqDeDbkZHHNIhW2tydkqKlkE3la8fJwQ==}
- peerDependencies:
- '@electric-sql/pglite': '*'
- '@libsql/client': '*'
- sqlite3: '*'
- peerDependenciesMeta:
- '@electric-sql/pglite':
- optional: true
- '@libsql/client':
- optional: true
- sqlite3:
- optional: true
+ '@nuxt/content@2.13.4':
+ resolution: {integrity: sha512-NBaHL/SNYUK7+RLgOngSFmKqEPYc0dYdnwVFsxIdrOZUoUbD8ERJJDaoRwwtyYCMOgUeFA/zxAkuADytp+DKiQ==}
'@nuxt/devalue@2.0.2':
resolution: {integrity: sha512-GBzP8zOc7CGWyFQS6dv1lQz8VVpz5C2yRszbXufwG/9zhStTIH50EtD87NmWbTMwXDvZLNg8GIpb1UFdH93JCA==}
@@ -1262,8 +1251,8 @@ packages:
'@nuxtjs/color-mode@3.5.2':
resolution: {integrity: sha512-cC6RfgZh3guHBMLLjrBB2Uti5eUoGM9KyauOaYS9ETmxNWBMTvpgjvSiSJp1OFljIXPIqVTJ3xtJpSNZiO3ZaA==}
- '@nuxtjs/mdc@0.13.3':
- resolution: {integrity: sha512-re0DPjSHREB4F/h3CCKKeJ8t4ABlcJMPNIPlHMpkqCq4jBNifNtLptdy7PpxX8l0QnKv1t+oEvHv1gD+RRiSjA==}
+ '@nuxtjs/mdc@0.9.5':
+ resolution: {integrity: sha512-bTnlY+oiW8QsmrLoiYN+rkSYxl7asELlwYeU9QPSkun5BVx7Yd8RajH8I+0QJZiMZzIHaO3LEgf3lzp5Lg6E0A==}
'@nuxtjs/robots@5.2.2':
resolution: {integrity: sha512-8krXcdG/iysVhY1VNJFeLyCV20/Qvlq37TjRjgV91EKJnjcsjUWBlvyVYANOJsbKuoZK4WFoFUGt8Ehrbg91gg==}
@@ -1738,10 +1727,6 @@ packages:
'@socket.io/component-emitter@3.1.2':
resolution: {integrity: sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA==}
- '@sqlite.org/sqlite-wasm@3.48.0-build4':
- resolution: {integrity: sha512-hI6twvUkzOmyGZhQMza1gpfqErZxXRw6JEsiVjUbo7tFanVD+8Oil0Ih3l2nGzHdxPI41zFmfUQG7GHqhciKZQ==}
- hasBin: true
-
'@stripe/stripe-js@5.6.0':
resolution: {integrity: sha512-w8CEY73X/7tw2KKlL3iOk679V9bWseE4GzNz3zlaYxcTjmcmWOathRb0emgo/QQ3eoNzmq68+2Y2gxluAv3xGw==}
engines: {node: '>=12.16'}
@@ -2170,9 +2155,17 @@ packages:
'@vue/shared@3.5.13':
resolution: {integrity: sha512-/hnE/qP5ZoGpol0a5mDi45bOd7t3tjYJBjsgCsivow7D48cJeV5l05RD82lPqi7gRiphZM37rnhW1l6ZoCNNnQ==}
+ '@vueuse/core@11.3.0':
+ resolution: {integrity: sha512-7OC4Rl1f9G8IT6rUfi9JrKiXy4bfmHhZ5x2Ceojy0jnd3mHNEvV4JaRygH362ror6/NZ+Nl+n13LPzGiPN8cKA==}
+
'@vueuse/core@12.5.0':
resolution: {integrity: sha512-GVyH1iYqNANwcahAx8JBm6awaNgvR/SwZ1fjr10b8l1HIgDp82ngNbfzJUgOgWEoxjL+URAggnlilAEXwCOZtg==}
+ '@vueuse/head@2.0.0':
+ resolution: {integrity: sha512-ykdOxTGs95xjD4WXE4na/umxZea2Itl0GWBILas+O4oqS7eXIods38INvk3XkJKjqMdWPcpCyLX/DioLQxU1KA==}
+ peerDependencies:
+ vue: ^3.5.13
+
'@vueuse/integrations@12.5.0':
resolution: {integrity: sha512-HYLt8M6mjUfcoUOzyBcX2RjpfapIwHPBmQJtTmXOQW845Y/Osu9VuTJ5kPvnmWJ6IUa05WpblfOwZ+P0G4iZsQ==}
peerDependencies:
@@ -2217,14 +2210,25 @@ packages:
'@vueuse/math@12.5.0':
resolution: {integrity: sha512-7Mtq4ascSwNk8GVdHywAhMkjxR77+BJUxsjygTI5CwnwnRsTVC5w04QTL9AKfC7ivVua2+Vf2BgP8TR2Xmy4wg==}
+ '@vueuse/metadata@11.3.0':
+ resolution: {integrity: sha512-pwDnDspTqtTo2HwfLw4Rp6yywuuBdYnPYDq+mO38ZYKGebCUQC/nVj/PXSiK9HX5otxLz8Fn7ECPbjiRz2CC3g==}
+
'@vueuse/metadata@12.5.0':
resolution: {integrity: sha512-Ui7Lo2a7AxrMAXRF+fAp9QsXuwTeeZ8fIB9wsLHqzq9MQk+2gMYE2IGJW48VMJ8ecvCB3z3GsGLKLbSasQ5Qlg==}
+ '@vueuse/nuxt@11.3.0':
+ resolution: {integrity: sha512-FxtRTgFmsoASamR3lOftv/r11o1BojF9zir8obbTnKamVZdlQ5rgJ0hHgVbrgA6dlMuEx/PzwqAmiKNFdU4oCQ==}
+ peerDependencies:
+ nuxt: ^3.15.4
+
'@vueuse/nuxt@12.5.0':
resolution: {integrity: sha512-daqSOlXv5ilAiT5GlRBtfqdkYjeMO9P6n50OpbEVm9hXmfXmZoXK3YMND8l5n5KcscD4pnD66IrYPqqOW5eH1Q==}
peerDependencies:
nuxt: ^3.15.4
+ '@vueuse/shared@11.3.0':
+ resolution: {integrity: sha512-P8gSSWQeucH5821ek2mn/ciCk+MS/zoRKqdQIM3bHq6p7GXDAJLmnRRKmF5F65sAVJIfzQlwR3aDzwCn10s8hA==}
+
'@vueuse/shared@12.5.0':
resolution: {integrity: sha512-vMpcL1lStUU6O+kdj6YdHDixh0odjPAUM15uJ9f7MY781jcYkIwFA4iv2EfoIPO6vBmvutI1HxxAwmf0cx5ISQ==}
@@ -2273,9 +2277,6 @@ packages:
'@webassemblyjs/wast-printer@1.14.1':
resolution: {integrity: sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==}
- '@webcontainer/env@1.1.1':
- resolution: {integrity: sha512-6aN99yL695Hi9SuIk1oC88l9o0gmxL1nGWWQ/kNy81HigJ0FoaoTXpytCj6ItzgyCEwA9kF1wixsTuv5cjsgng==}
-
'@xtuc/ieee754@1.2.0':
resolution: {integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==}
@@ -3685,54 +3686,30 @@ packages:
resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==}
engines: {node: '>= 0.4'}
- hast-util-embedded@3.0.0:
- resolution: {integrity: sha512-naH8sld4Pe2ep03qqULEtvYr7EjrLK2QHY8KJR6RJkTUjPGObe1vnx585uzem2hGra+s1q08DZZpfgDVYRbaXA==}
-
- hast-util-format@1.1.0:
- resolution: {integrity: sha512-yY1UDz6bC9rDvCWHpx12aIBGRG7krurX0p0Fm6pT547LwDIZZiNr8a+IHDogorAdreULSEzP82Nlv5SZkHZcjA==}
-
hast-util-from-parse5@8.0.2:
resolution: {integrity: sha512-SfMzfdAi/zAoZ1KkFEyyeXBn7u/ShQrfd675ZEE9M3qj+PMFX05xubzRyF76CCSJu8au9jgVxDV1+okFvgZU4A==}
- hast-util-has-property@3.0.0:
- resolution: {integrity: sha512-MNilsvEKLFpV604hwfhVStK0usFY/QmM5zX16bo7EjnAEGofr5YyI37kzopBlZJkHD4t887i+q/C8/tr5Q94cA==}
-
hast-util-heading-rank@3.0.0:
resolution: {integrity: sha512-EJKb8oMUXVHcWZTDepnr+WNbfnXKFNf9duMesmr4S8SXTJBJ9M4Yok08pu9vxdJwdlGRhVumk9mEhkEvKGifwA==}
- hast-util-is-body-ok-link@3.0.1:
- resolution: {integrity: sha512-0qpnzOBLztXHbHQenVB8uNuxTnm/QBFUOmdOSsEn7GnBtyY07+ENTWVFBAnXd/zEgd9/SUG3lRY7hSIBWRgGpQ==}
-
hast-util-is-element@3.0.0:
resolution: {integrity: sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g==}
- hast-util-minify-whitespace@1.0.1:
- resolution: {integrity: sha512-L96fPOVpnclQE0xzdWb/D12VT5FabA7SnZOUMtL1DbXmYiHJMXZvFkIZfiMmTCNJHUeO2K9UYNXoVyfz+QHuOw==}
-
hast-util-parse-selector@4.0.0:
resolution: {integrity: sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==}
- hast-util-phrasing@3.0.1:
- resolution: {integrity: sha512-6h60VfI3uBQUxHqTyMymMZnEbNl1XmEGtOxxKYL7stY2o601COo62AWAYBQR9lZbYXYSBoxag8UpPRXK+9fqSQ==}
-
hast-util-raw@9.1.0:
resolution: {integrity: sha512-Y8/SBAHkZGoNkpzqqfCldijcuUKh7/su31kEBp67cFY09Wy0mTRgtsLYsiIxMJxlu0f6AA5SUTbDR8K0rxnbUw==}
hast-util-to-html@9.0.4:
resolution: {integrity: sha512-wxQzXtdbhiwGAUKrnQJXlOPmHnEehzphwkK7aluUPQ+lEc1xefC8pblMgpp2w5ldBTEfveRIrADcrhGIWrlTDA==}
- hast-util-to-mdast@10.1.2:
- resolution: {integrity: sha512-FiCRI7NmOvM4y+f5w32jPRzcxDIz+PUqDwEqn1A+1q2cdp3B8Gx7aVrXORdOKjMNDQsD1ogOr896+0jJHW1EFQ==}
-
hast-util-to-parse5@8.0.0:
resolution: {integrity: sha512-3KKrV5ZVI8if87DVSi1vDeByYrkGzg4mEfeu4alwgmmIeARiBLKCZS2uw5Gb6nU9x9Yufyj3iudm6i7nl52PFw==}
hast-util-to-string@3.0.1:
resolution: {integrity: sha512-XelQVTDWvqcl3axRfI0xSeoVKzyIFPwsAGSLIsKdJKQMXDYJS4WYrBNF/8J7RdhIcFI2BOHgAifggsvsxp/3+A==}
- hast-util-to-text@4.0.2:
- resolution: {integrity: sha512-KK6y/BN8lbaq654j7JgBydev7wuNMcID54lkRav1P0CaE1e47P72AWWPiGKXTJU271ooYzcvTAn/Zt0REnvc7A==}
-
hast-util-whitespace@3.0.0:
resolution: {integrity: sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==}
@@ -3760,9 +3737,6 @@ packages:
html-void-elements@3.0.0:
resolution: {integrity: sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==}
- html-whitespace-sensitive-tag-names@3.0.1:
- resolution: {integrity: sha512-q+310vW8zmymYHALr1da4HyXUQ0zgiIwIicEfotYPWGN0OJVEN/58IJ3A4GBYcEq3LGAZqKb+ugvP0GNB9CEAA==}
-
htmlparser2@9.1.0:
resolution: {integrity: sha512-5zfg6mHUoaer/97TxnGpxmbR7zJtPwIYFMZ/H5ucTlPZhKvtum05yiPK3Mgai3a0DyVxv7qYqoweaEd2nrYQzQ==}
@@ -4286,6 +4260,9 @@ packages:
mdn-data@2.12.2:
resolution: {integrity: sha512-IEn+pegP1aManZuckezWCO+XZQDplx1366JoVhTpMpBB1sPey/SbveZQUosKiKiGYjg1wH4pMlNgXbCiYgihQA==}
+ mdurl@2.0.0:
+ resolution: {integrity: sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==}
+
media-typer@0.3.0:
resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==}
engines: {node: '>= 0.6'}
@@ -4428,10 +4405,6 @@ packages:
resolution: {integrity: sha512-r9deDe9p5FJUPZAk3A59wGH7Ii9YrjjWw0jmw/liSbHl2CHiyXj6FcDXDu2K3TjVAXqiJdaw3xxwlZZr9E6nHg==}
hasBin: true
- minimatch@10.0.1:
- resolution: {integrity: sha512-ethXTt3SGGR+95gudmqJ1eNhRO7eGEGIgYA9vnPatK4/etz2MEVDno5GMCibdMTuBMyElzIlgxMna3K94XDIDQ==}
- engines: {node: 20 || >=22}
-
minimatch@3.1.2:
resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
@@ -4458,6 +4431,9 @@ packages:
resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==}
engines: {node: '>=16 || 14 >=14.17'}
+ minisearch@7.1.1:
+ resolution: {integrity: sha512-b3YZEYCEH4EdCAtYP7OlDyx7FdPwNzuNwLQ34SfJpM9dlbBZzeXndGavTrC+VCiRWomL21SWfMc6SCKO/U2ZNw==}
+
minizlib@2.1.2:
resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==}
engines: {node: '>= 8'}
@@ -4639,10 +4615,6 @@ packages:
engines: {node: ^16.10.0 || >=18.0.0}
hasBin: true
- nuxt-component-meta@0.10.0:
- resolution: {integrity: sha512-iq7hbSnfp4Ff/PTMYBF8pYabTQuF3u7HVN66Kb3hOnrnaPEdXEn/q6HkAn5V8UjOVSgXYpvycM0wSnwyADYNVA==}
- hasBin: true
-
nuxt-component-meta@0.9.0:
resolution: {integrity: sha512-Zmuw/PxAeJkIu7EPZEFg0lIwnfpeiDsHog9i1g5d4Z3O5+00R1Vbuk+NC6K7kgpdLsdU2/XBvzc7oQ6BsXuQPg==}
hasBin: true
@@ -5280,15 +5252,9 @@ packages:
rehype-external-links@3.0.0:
resolution: {integrity: sha512-yp+e5N9V3C6bwBeAC4n796kc86M4gJCdlVhiMTxIrJG5UHDMh+PJANf9heqORJbt1nrCbDwIlAZKjANIaVBbvw==}
- rehype-minify-whitespace@6.0.2:
- resolution: {integrity: sha512-Zk0pyQ06A3Lyxhe9vGtOtzz3Z0+qZ5+7icZ/PL/2x1SHPbKao5oB/g/rlc6BCTajqBb33JcOe71Ye1oFsuYbnw==}
-
rehype-raw@7.0.0:
resolution: {integrity: sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww==}
- rehype-remark@10.0.0:
- resolution: {integrity: sha512-+aDXY/icqMFOafJQomVjxe3BAP7aR3lIsQ3GV6VIwpbCD2nvNFOXjGvotMe5p0Ny+Gt6L13DhEf/FjOOpTuUbQ==}
-
rehype-slug@6.0.0:
resolution: {integrity: sha512-lWyvf/jwu+oS5+hL5eClVd3hNdmwM1kAC0BUvEGD19pajQMIzcNUd/k9GsfQ+FfECvX+JE+e9/btsKH0EjJT6A==}
@@ -5848,9 +5814,6 @@ packages:
trim-lines@3.0.1:
resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==}
- trim-trailing-lines@2.1.0:
- resolution: {integrity: sha512-5UR5Biq4VlVOtzqkm2AZlgvSlDJtME46uV0br0gENbwN4l5+mMKT4b9gJKqWtuL2zAIqajGJGuvbCbcAJUZqBg==}
-
trough@2.2.0:
resolution: {integrity: sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==}
@@ -6000,9 +5963,6 @@ packages:
unist-builder@4.0.0:
resolution: {integrity: sha512-wmRFnH+BLpZnTKpc5L7O67Kac89s9HMrtELpnNaE6TAobq5DTZZs5YaTQfAZBA9bFPECx2uVAPO31c+GVug8mg==}
- unist-util-find-after@5.0.0:
- resolution: {integrity: sha512-amQa0Ep2m6hE2g72AugUItjbuM8X8cGQnFoHk0pGfrFeT9GZhzN5SW8nRsiGKK7Aif4CrACPENkA6P/Lw6fHGQ==}
-
unist-util-is@6.0.0:
resolution: {integrity: sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==}
@@ -6354,19 +6314,19 @@ packages:
typescript:
optional: true
- vue-component-meta@2.2.0:
- resolution: {integrity: sha512-IitQWA2vqutKUoOYawW4KDcSONKq1i4uyr+3NesQWuQbSdLg4tNcfHjQnAQMzHqAMunBTMST8uiknrYixZWHFQ==}
- peerDependencies:
- typescript: 5.6.3
- peerDependenciesMeta:
- typescript:
- optional: true
-
vue-component-type-helpers@2.1.10:
resolution: {integrity: sha512-lfgdSLQKrUmADiSV6PbBvYgQ33KF3Ztv6gP85MfGaGaSGMTXORVaHT1EHfsqCgzRNBstPKYDmvAV9Do5CmJ07A==}
- vue-component-type-helpers@2.2.0:
- resolution: {integrity: sha512-cYrAnv2me7bPDcg9kIcGwjJiSB6Qyi08+jLDo9yuvoFQjzHiPTzML7RnkJB1+3P6KMsX/KbCD4QE3Tv/knEllw==}
+ vue-demi@0.14.10:
+ resolution: {integrity: sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==}
+ engines: {node: '>=12'}
+ hasBin: true
+ peerDependencies:
+ '@vue/composition-api': ^1.0.0-rc.1
+ vue: ^3.5.13
+ peerDependenciesMeta:
+ '@vue/composition-api':
+ optional: true
vue-devtools-stub@0.1.0:
resolution: {integrity: sha512-RutnB7X8c5hjq39NceArgXg28WZtZpGc3+J16ljMiYnFhKvd8hITxSWQSQ5bvldxMDU6gG5mkxl1MTQLXckVSQ==}
@@ -6576,20 +6536,6 @@ packages:
resolution: {integrity: sha512-zK7YHHz4ZXpW89AHXUPbQVGKI7uvkd3hzusTdotCg1UxyaVtg0zFJSTfW/Dq5f7OBBVnq6cZIaC8Ti4hb6dtCA==}
engines: {node: '>= 14'}
- zod-to-json-schema@3.24.1:
- resolution: {integrity: sha512-3h08nf3Vw3Wl3PK+q3ow/lIil81IT2Oa7YpQyUUDsEWbXveMesdfK1xBd2RhCkynwZndAxixji/7SYJJowr62w==}
- peerDependencies:
- zod: ^3.24.1
-
- zod-to-ts@1.2.0:
- resolution: {integrity: sha512-x30XE43V+InwGpvTySRNz9kB7qFU8DlyEy7BsSTCHPH1R0QasMmHWZDCzYm6bVXtj/9NNJAZF3jW8rzFvH5OFA==}
- peerDependencies:
- typescript: 5.6.3
- zod: ^3
-
- zod@3.24.1:
- resolution: {integrity: sha512-muH7gBL9sI1nciMZV67X5fTKKBLtwpZ5VBp1vsOQzj1MhrBZ4wlVCm3gedKZWLp0Oyel8sIGfeiz54Su+OVT+A==}
-
zwitch@2.0.4:
resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==}
@@ -7393,62 +7339,62 @@ snapshots:
transitivePeerDependencies:
- magicast
- '@nuxt/content@3.1.0(magicast@0.3.5)(rollup@4.34.4)(typescript@5.6.3)':
+ '@nuxt/content@2.13.4(db0@0.2.3(better-sqlite3@11.8.1))(ioredis@5.4.2)(magicast@0.3.5)(nuxt@3.15.4(@parcel/watcher@2.5.0)(@types/node@22.13.1)(better-sqlite3@11.8.1)(db0@0.2.3(better-sqlite3@11.8.1))(eslint@9.19.0(jiti@2.4.2))(ioredis@5.4.2)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.34.4)(terser@5.38.1)(tsx@4.19.2)(typescript@5.6.3)(vite@6.1.0(@types/node@22.13.1)(jiti@2.4.2)(terser@5.38.1)(tsx@4.19.2)(yaml@2.7.0))(vue-tsc@2.2.0(typescript@5.6.3))(yaml@2.7.0))(rollup@4.34.4)(vue@3.5.13(typescript@5.6.3))':
dependencies:
'@nuxt/kit': 3.15.4(magicast@0.3.5)(rollup@4.34.4)
- '@nuxtjs/mdc': 0.13.3(magicast@0.3.5)(rollup@4.34.4)
- '@shikijs/langs': 2.3.2
- '@sqlite.org/sqlite-wasm': 3.48.0-build4
- '@webcontainer/env': 1.1.1
- better-sqlite3: 11.8.1
- c12: 2.0.1(magicast@0.3.5)
- chokidar: 4.0.3
+ '@nuxtjs/mdc': 0.9.5(magicast@0.3.5)(rollup@4.34.4)
+ '@vueuse/core': 11.3.0(vue@3.5.13(typescript@5.6.3))
+ '@vueuse/head': 2.0.0(vue@3.5.13(typescript@5.6.3))
+ '@vueuse/nuxt': 11.3.0(magicast@0.3.5)(nuxt@3.15.4(@parcel/watcher@2.5.0)(@types/node@22.13.1)(better-sqlite3@11.8.1)(db0@0.2.3(better-sqlite3@11.8.1))(eslint@9.19.0(jiti@2.4.2))(ioredis@5.4.2)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.34.4)(terser@5.38.1)(tsx@4.19.2)(typescript@5.6.3)(vite@6.1.0(@types/node@22.13.1)(jiti@2.4.2)(terser@5.38.1)(tsx@4.19.2)(yaml@2.7.0))(vue-tsc@2.2.0(typescript@5.6.3))(yaml@2.7.0))(rollup@4.34.4)(vue@3.5.13(typescript@5.6.3))
consola: 3.4.0
- db0: 0.2.3(better-sqlite3@11.8.1)
defu: 6.1.4
destr: 2.0.3
- fast-glob: 3.3.3
- git-url-parse: 16.0.0
- jiti: 2.4.2
+ json5: 2.2.3
knitwork: 1.2.0
listhen: 1.9.0
- mdast-util-to-hast: 13.2.0
mdast-util-to-string: 4.0.0
+ mdurl: 2.0.0
micromark: 4.0.1
- micromark-util-character: 2.1.1
- micromark-util-chunked: 2.0.1
- micromark-util-resolve-all: 2.0.1
micromark-util-sanitize-uri: 2.0.1
- micromatch: 4.0.8
- minimatch: 10.0.1
- nuxt-component-meta: 0.10.0(magicast@0.3.5)(rollup@4.34.4)
+ micromark-util-types: 2.0.1
+ minisearch: 7.1.1
ohash: 1.1.4
- parse-git-config: 3.0.0
- pathe: 2.0.2
- pkg-types: 1.3.1
- remark-mdc: 3.5.3
+ pathe: 1.1.2
scule: 1.3.0
- shiki: 2.3.2
+ shiki: 1.29.2
slugify: 1.6.6
socket.io-client: 4.8.1
- tar: 7.4.3
ufo: 1.5.4
- unified: 11.0.5
unist-util-stringify-position: 4.0.0
- unist-util-visit: 5.0.0
+ unstorage: 1.14.4(db0@0.2.3(better-sqlite3@11.8.1))(ioredis@5.4.2)
ws: 8.18.0
- zod: 3.24.1
- zod-to-json-schema: 3.24.1(zod@3.24.1)
- zod-to-ts: 1.2.0(typescript@5.6.3)(zod@3.24.1)
transitivePeerDependencies:
+ - '@azure/app-configuration'
+ - '@azure/cosmos'
+ - '@azure/data-tables'
+ - '@azure/identity'
+ - '@azure/keyvault-secrets'
+ - '@azure/storage-blob'
+ - '@capacitor/preferences'
+ - '@deno/kv'
+ - '@netlify/blobs'
+ - '@planetscale/database'
+ - '@upstash/redis'
+ - '@vercel/blob'
+ - '@vercel/kv'
+ - '@vue/composition-api'
+ - aws4fetch
- bufferutil
- - drizzle-orm
+ - db0
+ - idb-keyval
+ - ioredis
- magicast
- - mysql2
+ - nuxt
- rollup
- supports-color
- - typescript
+ - uploadthing
- utf-8-validate
+ - vue
'@nuxt/devalue@2.0.2': {}
@@ -8428,7 +8374,7 @@ snapshots:
- rollup
- supports-color
- '@nuxtjs/mdc@0.13.3(magicast@0.3.5)(rollup@4.34.4)':
+ '@nuxtjs/mdc@0.9.5(magicast@0.3.5)(rollup@4.34.4)':
dependencies:
'@nuxt/kit': 3.15.4(magicast@0.3.5)(rollup@4.34.4)
'@shikijs/transformers': 1.29.2
@@ -8441,19 +8387,15 @@ snapshots:
destr: 2.0.3
detab: 3.0.2
github-slugger: 2.0.0
- hast-util-format: 1.1.0
- hast-util-to-mdast: 10.1.2
hast-util-to-string: 3.0.1
mdast-util-to-hast: 13.2.0
micromark-util-sanitize-uri: 2.0.1
ohash: 1.1.4
parse5: 7.2.1
- pathe: 2.0.2
+ pathe: 1.1.2
property-information: 6.5.0
rehype-external-links: 3.0.0
- rehype-minify-whitespace: 6.0.2
rehype-raw: 7.0.0
- rehype-remark: 10.0.0
rehype-slug: 6.0.0
rehype-sort-attribute-values: 5.0.1
rehype-sort-attributes: 5.0.1
@@ -8462,7 +8404,6 @@ snapshots:
remark-mdc: 3.5.3
remark-parse: 11.0.0
remark-rehype: 11.1.1
- remark-stringify: 11.0.0
scule: 1.3.0
shiki: 1.29.2
ufo: 1.5.4
@@ -9010,8 +8951,6 @@ snapshots:
'@socket.io/component-emitter@3.1.2': {}
- '@sqlite.org/sqlite-wasm@3.48.0-build4': {}
-
'@stripe/stripe-js@5.6.0': {}
'@stylistic/eslint-plugin@3.0.1(eslint@9.19.0(jiti@2.4.2))(typescript@5.6.3)':
@@ -9846,6 +9785,16 @@ snapshots:
'@vue/shared@3.5.13': {}
+ '@vueuse/core@11.3.0(vue@3.5.13(typescript@5.6.3))':
+ dependencies:
+ '@types/web-bluetooth': 0.0.20
+ '@vueuse/metadata': 11.3.0
+ '@vueuse/shared': 11.3.0(vue@3.5.13(typescript@5.6.3))
+ vue-demi: 0.14.10(vue@3.5.13(typescript@5.6.3))
+ transitivePeerDependencies:
+ - '@vue/composition-api'
+ - vue
+
'@vueuse/core@12.5.0(typescript@5.6.3)':
dependencies:
'@types/web-bluetooth': 0.0.20
@@ -9864,6 +9813,14 @@ snapshots:
transitivePeerDependencies:
- typescript
+ '@vueuse/head@2.0.0(vue@3.5.13(typescript@5.6.3))':
+ dependencies:
+ '@unhead/dom': 1.11.18
+ '@unhead/schema': 1.11.18
+ '@unhead/ssr': 1.11.18
+ '@unhead/vue': 1.11.18(vue@3.5.13(typescript@5.6.3))
+ vue: 3.5.13(typescript@5.6.3)
+
'@vueuse/integrations@12.5.0(change-case@5.4.4)(focus-trap@7.6.4)(fuse.js@7.1.0)(typescript@5.6.3)':
dependencies:
'@vueuse/core': 12.5.0(typescript@5.6.3)
@@ -9895,8 +9852,25 @@ snapshots:
transitivePeerDependencies:
- typescript
+ '@vueuse/metadata@11.3.0': {}
+
'@vueuse/metadata@12.5.0': {}
+ '@vueuse/nuxt@11.3.0(magicast@0.3.5)(nuxt@3.15.4(@parcel/watcher@2.5.0)(@types/node@22.13.1)(better-sqlite3@11.8.1)(db0@0.2.3(better-sqlite3@11.8.1))(eslint@9.19.0(jiti@2.4.2))(ioredis@5.4.2)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.34.4)(terser@5.38.1)(tsx@4.19.2)(typescript@5.6.3)(vite@6.1.0(@types/node@22.13.1)(jiti@2.4.2)(terser@5.38.1)(tsx@4.19.2)(yaml@2.7.0))(vue-tsc@2.2.0(typescript@5.6.3))(yaml@2.7.0))(rollup@4.34.4)(vue@3.5.13(typescript@5.6.3))':
+ dependencies:
+ '@nuxt/kit': 3.15.4(magicast@0.3.5)(rollup@4.34.4)
+ '@vueuse/core': 11.3.0(vue@3.5.13(typescript@5.6.3))
+ '@vueuse/metadata': 11.3.0
+ local-pkg: 0.5.1
+ nuxt: 3.15.4(@parcel/watcher@2.5.0)(@types/node@22.13.1)(better-sqlite3@11.8.1)(db0@0.2.3(better-sqlite3@11.8.1))(eslint@9.19.0(jiti@2.4.2))(ioredis@5.4.2)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.34.4)(terser@5.38.1)(tsx@4.19.2)(typescript@5.6.3)(vite@6.1.0(@types/node@22.13.1)(jiti@2.4.2)(terser@5.38.1)(tsx@4.19.2)(yaml@2.7.0))(vue-tsc@2.2.0(typescript@5.6.3))(yaml@2.7.0)
+ vue-demi: 0.14.10(vue@3.5.13(typescript@5.6.3))
+ transitivePeerDependencies:
+ - '@vue/composition-api'
+ - magicast
+ - rollup
+ - supports-color
+ - vue
+
'@vueuse/nuxt@12.5.0(magicast@0.3.5)(nuxt@3.15.4(@parcel/watcher@2.5.0)(@types/node@22.13.1)(better-sqlite3@11.8.1)(db0@0.2.3(better-sqlite3@11.8.1))(eslint@9.19.0(jiti@2.4.2))(ioredis@5.4.2)(magicast@0.3.5)(optionator@0.9.4)(rollup@3.29.5)(terser@5.38.1)(tsx@4.19.2)(typescript@5.6.3)(vite@6.1.0(@types/node@22.13.1)(jiti@2.4.2)(terser@5.38.1)(tsx@4.19.2)(yaml@2.7.0))(vue-tsc@2.2.0(typescript@5.6.3))(yaml@2.7.0))(rollup@3.29.5)(typescript@5.6.3)':
dependencies:
'@nuxt/kit': 3.15.4(magicast@0.3.5)(rollup@3.29.5)
@@ -9939,6 +9913,13 @@ snapshots:
- supports-color
- typescript
+ '@vueuse/shared@11.3.0(vue@3.5.13(typescript@5.6.3))':
+ dependencies:
+ vue-demi: 0.14.10(vue@3.5.13(typescript@5.6.3))
+ transitivePeerDependencies:
+ - '@vue/composition-api'
+ - vue
+
'@vueuse/shared@12.5.0(typescript@5.6.3)':
dependencies:
vue: 3.5.13(typescript@5.6.3)
@@ -10027,8 +10008,6 @@ snapshots:
'@webassemblyjs/ast': 1.14.1
'@xtuc/long': 4.2.2
- '@webcontainer/env@1.1.1': {}
-
'@xtuc/ieee754@1.2.0': {}
'@xtuc/long@4.2.2': {}
@@ -10211,6 +10190,7 @@ snapshots:
dependencies:
bindings: 1.5.0
prebuild-install: 7.1.3
+ optional: true
binary-extensions@2.3.0: {}
@@ -10225,6 +10205,7 @@ snapshots:
buffer: 5.7.1
inherits: 2.0.4
readable-stream: 3.6.2
+ optional: true
blob-to-buffer@1.2.9: {}
@@ -10262,6 +10243,7 @@ snapshots:
dependencies:
base64-js: 1.5.1
ieee754: 1.2.1
+ optional: true
buffer@6.0.3:
dependencies:
@@ -10452,7 +10434,8 @@ snapshots:
dependencies:
readdirp: 4.1.1
- chownr@1.1.4: {}
+ chownr@1.1.4:
+ optional: true
chownr@2.0.0: {}
@@ -10736,12 +10719,14 @@ snapshots:
decompress-response@6.0.0:
dependencies:
mimic-response: 3.1.0
+ optional: true
deep-eql@5.0.2: {}
deep-equal@1.0.1: {}
- deep-extend@0.6.0: {}
+ deep-extend@0.6.0:
+ optional: true
deep-is@0.1.4: {}
@@ -10872,6 +10857,7 @@ snapshots:
end-of-stream@1.4.4:
dependencies:
once: 1.4.0
+ optional: true
engine.io-client@6.6.2:
dependencies:
@@ -11277,7 +11263,8 @@ snapshots:
strip-final-newline: 4.0.0
yoctocolors: 2.1.1
- expand-template@2.0.3: {}
+ expand-template@2.0.3:
+ optional: true
expect-type@1.1.0: {}
@@ -11392,7 +11379,8 @@ snapshots:
fresh@0.5.2: {}
- fs-constants@1.0.0: {}
+ fs-constants@1.0.0:
+ optional: true
fs-extra@11.3.0:
dependencies:
@@ -11503,7 +11491,8 @@ snapshots:
dependencies:
git-up: 8.0.0
- github-from-package@0.0.0: {}
+ github-from-package@0.0.0:
+ optional: true
github-slugger@2.0.0: {}
@@ -11624,21 +11613,6 @@ snapshots:
dependencies:
function-bind: 1.1.2
- hast-util-embedded@3.0.0:
- dependencies:
- '@types/hast': 3.0.4
- hast-util-is-element: 3.0.0
-
- hast-util-format@1.1.0:
- dependencies:
- '@types/hast': 3.0.4
- hast-util-embedded: 3.0.0
- hast-util-minify-whitespace: 1.0.1
- hast-util-phrasing: 3.0.1
- hast-util-whitespace: 3.0.0
- html-whitespace-sensitive-tag-names: 3.0.1
- unist-util-visit-parents: 6.0.1
-
hast-util-from-parse5@8.0.2:
dependencies:
'@types/hast': 3.0.4
@@ -11650,42 +11624,18 @@ snapshots:
vfile-location: 5.0.3
web-namespaces: 2.0.1
- hast-util-has-property@3.0.0:
- dependencies:
- '@types/hast': 3.0.4
-
hast-util-heading-rank@3.0.0:
dependencies:
'@types/hast': 3.0.4
- hast-util-is-body-ok-link@3.0.1:
- dependencies:
- '@types/hast': 3.0.4
-
hast-util-is-element@3.0.0:
dependencies:
'@types/hast': 3.0.4
- hast-util-minify-whitespace@1.0.1:
- dependencies:
- '@types/hast': 3.0.4
- hast-util-embedded: 3.0.0
- hast-util-is-element: 3.0.0
- hast-util-whitespace: 3.0.0
- unist-util-is: 6.0.0
-
hast-util-parse-selector@4.0.0:
dependencies:
'@types/hast': 3.0.4
- hast-util-phrasing@3.0.1:
- dependencies:
- '@types/hast': 3.0.4
- hast-util-embedded: 3.0.0
- hast-util-has-property: 3.0.0
- hast-util-is-body-ok-link: 3.0.1
- hast-util-is-element: 3.0.0
-
hast-util-raw@9.1.0:
dependencies:
'@types/hast': 3.0.4
@@ -11716,23 +11666,6 @@ snapshots:
stringify-entities: 4.0.4
zwitch: 2.0.4
- hast-util-to-mdast@10.1.2:
- dependencies:
- '@types/hast': 3.0.4
- '@types/mdast': 4.0.4
- '@ungap/structured-clone': 1.3.0
- hast-util-phrasing: 3.0.1
- hast-util-to-html: 9.0.4
- hast-util-to-text: 4.0.2
- hast-util-whitespace: 3.0.0
- mdast-util-phrasing: 4.1.0
- mdast-util-to-hast: 13.2.0
- mdast-util-to-string: 4.0.0
- rehype-minify-whitespace: 6.0.2
- trim-trailing-lines: 2.1.0
- unist-util-position: 5.0.0
- unist-util-visit: 5.0.0
-
hast-util-to-parse5@8.0.0:
dependencies:
'@types/hast': 3.0.4
@@ -11747,13 +11680,6 @@ snapshots:
dependencies:
'@types/hast': 3.0.4
- hast-util-to-text@4.0.2:
- dependencies:
- '@types/hast': 3.0.4
- '@types/unist': 3.0.3
- hast-util-is-element: 3.0.0
- unist-util-find-after: 5.0.0
-
hast-util-whitespace@3.0.0:
dependencies:
'@types/hast': 3.0.4
@@ -11778,8 +11704,6 @@ snapshots:
html-void-elements@3.0.0: {}
- html-whitespace-sensitive-tag-names@3.0.1: {}
-
htmlparser2@9.1.0:
dependencies:
domelementtype: 2.3.0
@@ -12440,6 +12364,8 @@ snapshots:
mdn-data@2.12.2: {}
+ mdurl@2.0.0: {}
+
media-typer@0.3.0: {}
merge-stream@2.0.0: {}
@@ -12658,16 +12584,13 @@ snapshots:
mimic-fn@4.0.0: {}
- mimic-response@3.1.0: {}
+ mimic-response@3.1.0:
+ optional: true
min-indent@1.0.1: {}
mini-svg-data-uri@1.4.4: {}
- minimatch@10.0.1:
- dependencies:
- brace-expansion: 2.0.1
-
minimatch@3.1.2:
dependencies:
brace-expansion: 1.1.11
@@ -12690,6 +12613,8 @@ snapshots:
minipass@7.1.2: {}
+ minisearch@7.1.1: {}
+
minizlib@2.1.2:
dependencies:
minipass: 3.3.6
@@ -12702,7 +12627,8 @@ snapshots:
mitt@3.0.1: {}
- mkdirp-classic@0.5.3: {}
+ mkdirp-classic@0.5.3:
+ optional: true
mkdirp@0.5.6:
dependencies:
@@ -12760,7 +12686,8 @@ snapshots:
nanotar@0.2.0: {}
- napi-build-utils@2.0.0: {}
+ napi-build-utils@2.0.0:
+ optional: true
natural-compare@1.4.0: {}
@@ -12967,6 +12894,7 @@ snapshots:
node-abi@3.74.0:
dependencies:
semver: 7.7.1
+ optional: true
node-addon-api@6.1.0:
optional: true
@@ -13030,20 +12958,6 @@ snapshots:
nuxi@3.17.2: {}
- nuxt-component-meta@0.10.0(magicast@0.3.5)(rollup@4.34.4):
- dependencies:
- '@nuxt/kit': 3.15.4(magicast@0.3.5)(rollup@4.34.4)
- citty: 0.1.6
- mlly: 1.7.4
- scule: 1.3.0
- typescript: 5.6.3
- ufo: 1.5.4
- vue-component-meta: 2.2.0(typescript@5.6.3)
- transitivePeerDependencies:
- - magicast
- - rollup
- - supports-color
-
nuxt-component-meta@0.9.0(magicast@0.3.5)(rollup@4.34.4):
dependencies:
'@nuxt/kit': 3.15.4(magicast@0.3.5)(rollup@4.34.4)
@@ -14050,6 +13964,7 @@ snapshots:
simple-get: 4.0.1
tar-fs: 2.1.2
tunnel-agent: 0.6.0
+ optional: true
prelude-ls@1.2.1: {}
@@ -14076,6 +13991,7 @@ snapshots:
dependencies:
end-of-stream: 1.4.4
once: 1.4.0
+ optional: true
punycode@2.3.1: {}
@@ -14104,6 +14020,7 @@ snapshots:
ini: 1.3.8
minimist: 1.2.8
strip-json-comments: 2.0.1
+ optional: true
read-cache@1.0.0:
dependencies:
@@ -14137,6 +14054,7 @@ snapshots:
inherits: 2.0.4
string_decoder: 1.3.0
util-deprecate: 1.0.2
+ optional: true
readable-stream@4.7.0:
dependencies:
@@ -14205,25 +14123,12 @@ snapshots:
space-separated-tokens: 2.0.2
unist-util-visit: 5.0.0
- rehype-minify-whitespace@6.0.2:
- dependencies:
- '@types/hast': 3.0.4
- hast-util-minify-whitespace: 1.0.1
-
rehype-raw@7.0.0:
dependencies:
'@types/hast': 3.0.4
hast-util-raw: 9.1.0
vfile: 6.0.3
- rehype-remark@10.0.0:
- dependencies:
- '@types/hast': 3.0.4
- '@types/mdast': 4.0.4
- hast-util-to-mdast: 10.1.2
- unified: 11.0.5
- vfile: 6.0.3
-
rehype-slug@6.0.0:
dependencies:
'@types/hast': 3.0.4
@@ -14556,13 +14461,15 @@ snapshots:
signal-exit@4.1.0: {}
- simple-concat@1.0.1: {}
+ simple-concat@1.0.1:
+ optional: true
simple-get@4.0.1:
dependencies:
decompress-response: 6.0.0
once: 1.4.0
simple-concat: 1.0.1
+ optional: true
simple-git@3.27.0:
dependencies:
@@ -14728,7 +14635,8 @@ snapshots:
dependencies:
min-indent: 1.0.1
- strip-json-comments@2.0.1: {}
+ strip-json-comments@2.0.1:
+ optional: true
strip-json-comments@3.1.1: {}
@@ -14844,6 +14752,7 @@ snapshots:
mkdirp-classic: 0.5.3
pump: 3.0.2
tar-stream: 2.2.0
+ optional: true
tar-fs@3.0.6:
dependencies:
@@ -14861,6 +14770,7 @@ snapshots:
fs-constants: 1.0.0
inherits: 2.0.4
readable-stream: 3.6.2
+ optional: true
tar-stream@3.1.7:
dependencies:
@@ -14956,8 +14866,6 @@ snapshots:
trim-lines@3.0.1: {}
- trim-trailing-lines@2.1.0: {}
-
trough@2.2.0: {}
ts-api-utils@2.0.1(typescript@5.6.3):
@@ -14984,6 +14892,7 @@ snapshots:
tunnel-agent@0.6.0:
dependencies:
safe-buffer: 5.2.1
+ optional: true
type-check@0.4.0:
dependencies:
@@ -15194,11 +15103,6 @@ snapshots:
dependencies:
'@types/unist': 3.0.3
- unist-util-find-after@5.0.0:
- dependencies:
- '@types/unist': 3.0.3
- unist-util-is: 6.0.0
-
unist-util-is@6.0.0:
dependencies:
'@types/unist': 3.0.3
@@ -15738,18 +15642,11 @@ snapshots:
optionalDependencies:
typescript: 5.6.3
- vue-component-meta@2.2.0(typescript@5.6.3):
- dependencies:
- '@volar/typescript': 2.4.11
- '@vue/language-core': 2.2.0(typescript@5.6.3)
- path-browserify: 1.0.1
- vue-component-type-helpers: 2.2.0
- optionalDependencies:
- typescript: 5.6.3
-
vue-component-type-helpers@2.1.10: {}
- vue-component-type-helpers@2.2.0: {}
+ vue-demi@0.14.10(vue@3.5.13(typescript@5.6.3)):
+ dependencies:
+ vue: 3.5.13(typescript@5.6.3)
vue-devtools-stub@0.1.0: {}
@@ -15988,15 +15885,4 @@ snapshots:
compress-commons: 6.0.2
readable-stream: 4.7.0
- zod-to-json-schema@3.24.1(zod@3.24.1):
- dependencies:
- zod: 3.24.1
-
- zod-to-ts@1.2.0(typescript@5.6.3)(zod@3.24.1):
- dependencies:
- typescript: 5.6.3
- zod: 3.24.1
-
- zod@3.24.1: {}
-
zwitch@2.0.4: {}
diff --git a/src/runtime/components/ScriptGoogleAdsense.vue b/src/runtime/components/ScriptGoogleAdsense.vue
index 7d37bad0..0be1d491 100644
--- a/src/runtime/components/ScriptGoogleAdsense.vue
+++ b/src/runtime/components/ScriptGoogleAdsense.vue
@@ -3,6 +3,7 @@ import { computed, onMounted, ref, watch } from 'vue'
import { callOnce } from 'nuxt/app'
import { useScriptTriggerElement } from '../composables/useScriptTriggerElement'
import { useScriptGoogleAdsense } from '../registry/google-adsense'
+import { scriptRuntimeConfig } from '../utils'
import type { ElementScriptTrigger } from '#nuxt-scripts/types'
const props = withDefaults(defineProps<{
@@ -29,8 +30,13 @@ const emits = defineEmits<{
const rootEl = ref(null)
const trigger = useScriptTriggerElement({ trigger: props.trigger, el: rootEl })
+const scriptConfig = scriptRuntimeConfig('googleAdsense')
+const addClient = computed(() => {
+ return props.dataAdClient || scriptConfig?.client
+})
+
const instance = useScriptGoogleAdsense({
- client: props.dataAdClient,
+ client: addClient.value,
scriptOptions: {
trigger,
},
@@ -72,7 +78,7 @@ const rootAttrs = computed(() => {
ref="rootEl"
class="adsbygoogle"
style="display: block;"
- :data-ad-client="dataAdClient"
+ :data-ad-client="addClient"
:data-ad-slot="dataAdSlot"
:data-ad-format="dataAdFormat"
:data-ad-layout="dataAdLayout"
diff --git a/src/runtime/components/ScriptYouTubePlayer.vue b/src/runtime/components/ScriptYouTubePlayer.vue
index e82c3260..10da949d 100644
--- a/src/runtime/components/ScriptYouTubePlayer.vue
+++ b/src/runtime/components/ScriptYouTubePlayer.vue
@@ -9,6 +9,20 @@ import { useScriptTriggerElement } from '../composables/useScriptTriggerElement'
import { useScriptYouTubePlayer } from '../registry/youtube-player'
import ScriptAriaLoadingIndicator from './ScriptAriaLoadingIndicator.vue'
+export type YoutubeThumbnailSize =
+// 120x90
+ '1' | '2' | '3' | 'default' |
+ // 320x180
+ 'mq1' | 'mq2' | 'mq3' | 'mqdefault' |
+ // 480x360
+ '0' | 'hq1' | 'hq2' | 'hq3' | 'hqdefault' |
+ // 640x480
+ 'sd1' | 'sd2' | 'sd3' | 'sddefault' |
+ // 1280x720
+ 'hq720' |
+ // 1920x1080
+ 'maxresdefault'
+
const props = withDefaults(defineProps<{
placeholderAttrs?: ImgHTMLAttributes
rootAttrs?: HTMLAttributes
@@ -25,9 +39,13 @@ const props = withDefaults(defineProps<{
*/
cookies?: boolean
playerOptions?: YT.PlayerOptions
+ thumbnailSize?: YoutubeThumbnailSize
+ webp?: boolean
}>(), {
cookies: false,
trigger: 'mousedown',
+ thumbnailSize: 'hq720',
+ webp: true,
// @ts-expect-error untyped
playerVars: { autoplay: 0, playsinline: 1 },
width: 640,
@@ -126,15 +144,15 @@ const rootAttrs = computed(() => {
position: 'relative',
backgroundColor: 'black',
maxWidth: '100%',
- width: `auto`,
- height: 'auto',
aspectRatio: `${props.width}/${props.height}`,
},
...(trigger instanceof Promise ? trigger.ssrAttrs || {} : {}),
}) as HTMLAttributes
})
-const placeholder = computed(() => `https://i.ytimg.com/vi_webp/${props.videoId}/sddefault.webp`)
+const fallbackPlaceHolder = computed(() => `https://i.ytimg.com/vi/${props.videoId}/hqdefault.jpg`)
+const placeholder = computed(() => `https://i.ytimg.com/${props.webp ? 'vi_webp' : 'vi'}/${props.videoId}/${props.thumbnailSize}.${props.webp ? 'webp' : 'jpg'}`)
+const isFallbackPlaceHolder = ref(false)
if (import.meta.server) {
// dns-prefetch https://i.vimeocdn.com
@@ -160,14 +178,20 @@ if (import.meta.server) {
const placeholderAttrs = computed(() => {
return defu(props.placeholderAttrs, {
- src: placeholder.value,
+ src: isFallbackPlaceHolder.value ? fallbackPlaceHolder.value : placeholder.value,
alt: '',
loading: props.aboveTheFold ? 'eager' : 'lazy',
style: {
width: '100%',
- objectFit: 'cover',
+ objectFit: 'contain',
height: '100%',
},
+ onLoad(payload) {
+ const img = payload.target as HTMLImageElement
+ if (img.naturalWidth === 120 && img.naturalHeight === 90) {
+ isFallbackPlaceHolder.value = true
+ }
+ },
} satisfies ImgHTMLAttributes)
})