From 1bc6f33fee63f8aa1f1be54640914de2f4d0717c Mon Sep 17 00:00:00 2001 From: Adam Matthiesen Date: Mon, 8 Dec 2025 12:55:56 -0800 Subject: [PATCH 01/71] feat: Update StudioCMS configuration and documentation - Added `db` configuration option to define database dialect in `studiocms.config.mjs`. - Updated translation guide to reflect new translation directory structure. - Enhanced CLI documentation with new `migrate` command for managing database migrations. - Revised integration documentation to clarify the use of Astro DB and its components. - Updated SDK documentation to specify the use of Kysely database client. - Improved plugin documentation with updated hooks and minimum version requirements. - Refined getting started guide to include new database connection options and environment variables. - Added badges to various documentation pages to indicate updates. --- .vscode/settings.json | 1 + package.json | 21 +- pnpm-lock.yaml | 778 +++++++++++++----- .../docs/en/config-reference/index.mdx | 20 + .../en/guides/contributing/translations.mdx | 7 +- src/content/docs/en/how-it-works/cli.mdx | 37 +- src/content/docs/en/how-it-works/index.mdx | 9 +- src/content/docs/en/how-it-works/restapi.mdx | 2 +- src/content/docs/en/how-it-works/sdk.mdx | 24 +- src/content/docs/en/plugins/extended.mdx | 17 +- src/content/docs/en/plugins/index.mdx | 88 +- src/content/docs/en/plugins/renderers.mdx | 6 +- .../docs/en/start-here/configuration.mdx | 48 +- .../en/start-here/environment-variables.mdx | 41 +- .../docs/en/start-here/getting-started.mdx | 136 ++- .../docs/en/start-here/why-studioCMS.mdx | 7 +- 16 files changed, 860 insertions(+), 382 deletions(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index aed09da9..27bf3d7f 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -9,6 +9,7 @@ "genpkey", "Iconify", "inox", + "Kysely", "libsql", "lunariajs", "markdoc", diff --git a/package.json b/package.json index 05128ba5..9c976135 100644 --- a/package.json +++ b/package.json @@ -22,16 +22,17 @@ "gen-changelogs": "tsm --require=./scripts/filter-warnings.cjs ./scripts/generate-release-notes.ts" }, "dependencies": { - "@studiocms/blog": "0.1.0-beta.30", - "@studiocms/cloudinary-image-service": "0.1.0-beta.30", - "@studiocms/devapps": "0.1.0-beta.30", - "@studiocms/html": "0.1.0-beta.30", - "@studiocms/markdoc": "0.1.0-beta.30", - "@studiocms/md": "0.1.0-beta.30", - "@studiocms/mdx": "0.1.0-beta.30", - "@studiocms/wysiwyg": "0.1.0-beta.30", - "studiocms": "0.1.0-beta.30", - "@withstudiocms/component-registry": "0.1.0-beta.6", + "@studiocms/blog": "https://pkg.pr.new/withstudiocms/studiocms/@studiocms/blog@05baab6", + "@studiocms/cloudinary-image-service": "https://pkg.pr.new/withstudiocms/studiocms/@studiocms/cloudinary-image-service@05baab6", + "@studiocms/devapps": "https://pkg.pr.new/withstudiocms/studiocms/@studiocms/devapps@05baab6", + "@studiocms/html": "https://pkg.pr.new/withstudiocms/studiocms/@studiocms/html@05baab6", + "@studiocms/markdoc": "https://pkg.pr.new/withstudiocms/studiocms/@studiocms/markdoc@05baab6", + "@studiocms/md": "https://pkg.pr.new/withstudiocms/studiocms/@studiocms/md@05baab6", + "@studiocms/mdx": "https://pkg.pr.new/withstudiocms/studiocms/@studiocms/mdx@05baab6", + "@studiocms/wysiwyg": "https://pkg.pr.new/withstudiocms/studiocms/@studiocms/wysiwyg@05baab6", + "studiocms": "https://pkg.pr.new/withstudiocms/studiocms@05baab6", + "@withstudiocms/component-registry": "https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/component-registry@05baab6", + "@withstudiocms/kysely": "https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/kysely@05baab6", "@studiocms/ui": "1.0.0-beta.4", "@studiocms/web-vitals": "^4.5.3", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 6c216f43..f06978f2 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -22,7 +22,7 @@ importers: version: 0.9.4(typescript@5.9.2) '@astrojs/db': specifier: ^0.18.0 - version: 0.18.0 + version: 0.18.0(kysely@0.28.8)(mysql2@3.15.3)(pg@8.16.3) '@astrojs/node': specifier: ^9.3.1 version: 9.4.4(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1)) @@ -51,35 +51,35 @@ importers: specifier: ^3.2.1 version: 3.13.0 '@studiocms/blog': - specifier: 0.1.0-beta.30 - version: 0.1.0-beta.30(@studiocms/md@0.1.0-beta.30(@astrojs/markdown-remark@6.3.7)(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1))(effect@3.17.14)(studiocms@0.1.0-beta.30(86351946ee3baaddb2fc05a33555950b))(vite@6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1)))(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1))(effect@3.17.14)(studiocms@0.1.0-beta.30(86351946ee3baaddb2fc05a33555950b))(vite@6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1)) + specifier: https://pkg.pr.new/withstudiocms/studiocms/@studiocms/blog@05baab6 + version: https://pkg.pr.new/withstudiocms/studiocms/@studiocms/blog@05baab6(@studiocms/md@https://pkg.pr.new/withstudiocms/studiocms/@studiocms/md@05baab6(@astrojs/markdown-remark@6.3.7)(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1))(effect@3.17.14)(studiocms@https://pkg.pr.new/withstudiocms/studiocms@05baab6(8ed8ce9f8a8227c0c743f0f77e40a609))(vite@6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1)))(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1))(effect@3.17.14)(studiocms@https://pkg.pr.new/withstudiocms/studiocms@05baab6(8ed8ce9f8a8227c0c743f0f77e40a609))(vite@6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1)) '@studiocms/cloudinary-image-service': - specifier: 0.1.0-beta.30 - version: 0.1.0-beta.30(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1))(effect@3.17.14)(studiocms@0.1.0-beta.30(86351946ee3baaddb2fc05a33555950b))(vite@6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1)) + specifier: https://pkg.pr.new/withstudiocms/studiocms/@studiocms/cloudinary-image-service@05baab6 + version: https://pkg.pr.new/withstudiocms/studiocms/@studiocms/cloudinary-image-service@05baab6(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1))(effect@3.17.14)(studiocms@https://pkg.pr.new/withstudiocms/studiocms@05baab6(8ed8ce9f8a8227c0c743f0f77e40a609))(vite@6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1)) '@studiocms/devapps': - specifier: 0.1.0-beta.30 - version: 0.1.0-beta.30(@astrojs/db@0.18.0)(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1))(effect@3.17.14)(studiocms@0.1.0-beta.30(86351946ee3baaddb2fc05a33555950b))(vite@6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1)) + specifier: https://pkg.pr.new/withstudiocms/studiocms/@studiocms/devapps@05baab6 + version: https://pkg.pr.new/withstudiocms/studiocms/@studiocms/devapps@05baab6(@withstudiocms/kysely@https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/kysely@05baab6(@libsql/client@0.15.15)(effect@3.17.14)(mysql2@3.15.3)(pg@8.16.3))(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1))(effect@3.17.14)(studiocms@https://pkg.pr.new/withstudiocms/studiocms@05baab6(8ed8ce9f8a8227c0c743f0f77e40a609))(vite@6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1)) '@studiocms/html': - specifier: 0.1.0-beta.30 - version: 0.1.0-beta.30(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1))(effect@3.17.14)(studiocms@0.1.0-beta.30(86351946ee3baaddb2fc05a33555950b))(vite@6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1)) + specifier: https://pkg.pr.new/withstudiocms/studiocms/@studiocms/html@05baab6 + version: https://pkg.pr.new/withstudiocms/studiocms/@studiocms/html@05baab6(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1))(effect@3.17.14)(studiocms@https://pkg.pr.new/withstudiocms/studiocms@05baab6(8ed8ce9f8a8227c0c743f0f77e40a609))(vite@6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1)) '@studiocms/markdoc': - specifier: 0.1.0-beta.30 - version: 0.1.0-beta.30(@studiocms/md@0.1.0-beta.30(@astrojs/markdown-remark@6.3.7)(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1))(effect@3.17.14)(studiocms@0.1.0-beta.30(86351946ee3baaddb2fc05a33555950b))(vite@6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1)))(@types/react@19.1.13)(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1))(effect@3.17.14)(studiocms@0.1.0-beta.30(86351946ee3baaddb2fc05a33555950b))(vite@6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1)) + specifier: https://pkg.pr.new/withstudiocms/studiocms/@studiocms/markdoc@05baab6 + version: https://pkg.pr.new/withstudiocms/studiocms/@studiocms/markdoc@05baab6(@studiocms/md@https://pkg.pr.new/withstudiocms/studiocms/@studiocms/md@05baab6(@astrojs/markdown-remark@6.3.7)(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1))(effect@3.17.14)(studiocms@https://pkg.pr.new/withstudiocms/studiocms@05baab6(8ed8ce9f8a8227c0c743f0f77e40a609))(vite@6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1)))(@types/react@19.1.13)(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1))(effect@3.17.14)(studiocms@https://pkg.pr.new/withstudiocms/studiocms@05baab6(8ed8ce9f8a8227c0c743f0f77e40a609))(vite@6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1)) '@studiocms/md': - specifier: 0.1.0-beta.30 - version: 0.1.0-beta.30(@astrojs/markdown-remark@6.3.7)(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1))(effect@3.17.14)(studiocms@0.1.0-beta.30(86351946ee3baaddb2fc05a33555950b))(vite@6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1)) + specifier: https://pkg.pr.new/withstudiocms/studiocms/@studiocms/md@05baab6 + version: https://pkg.pr.new/withstudiocms/studiocms/@studiocms/md@05baab6(@astrojs/markdown-remark@6.3.7)(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1))(effect@3.17.14)(studiocms@https://pkg.pr.new/withstudiocms/studiocms@05baab6(8ed8ce9f8a8227c0c743f0f77e40a609))(vite@6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1)) '@studiocms/mdx': - specifier: 0.1.0-beta.30 - version: 0.1.0-beta.30(@studiocms/md@0.1.0-beta.30(@astrojs/markdown-remark@6.3.7)(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1))(effect@3.17.14)(studiocms@0.1.0-beta.30(86351946ee3baaddb2fc05a33555950b))(vite@6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1)))(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1))(effect@3.17.14)(studiocms@0.1.0-beta.30(86351946ee3baaddb2fc05a33555950b))(vite@6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1)) + specifier: https://pkg.pr.new/withstudiocms/studiocms/@studiocms/mdx@05baab6 + version: https://pkg.pr.new/withstudiocms/studiocms/@studiocms/mdx@05baab6(@studiocms/md@https://pkg.pr.new/withstudiocms/studiocms/@studiocms/md@05baab6(@astrojs/markdown-remark@6.3.7)(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1))(effect@3.17.14)(studiocms@https://pkg.pr.new/withstudiocms/studiocms@05baab6(8ed8ce9f8a8227c0c743f0f77e40a609))(vite@6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1)))(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1))(effect@3.17.14)(studiocms@https://pkg.pr.new/withstudiocms/studiocms@05baab6(8ed8ce9f8a8227c0c743f0f77e40a609))(vite@6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1)) '@studiocms/ui': specifier: 1.0.0-beta.4 version: 1.0.0-beta.4(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1))(vite@6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1)) '@studiocms/web-vitals': specifier: ^4.5.3 - version: 4.5.3(@astrojs/db@0.18.0) + version: 4.5.3(@astrojs/db@0.18.0(kysely@0.28.8)(mysql2@3.15.3)(pg@8.16.3)) '@studiocms/wysiwyg': - specifier: 0.1.0-beta.30 - version: 0.1.0-beta.30(@studiocms/ui@1.0.0-beta.4(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1))(vite@6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1)))(@withstudiocms/component-registry@0.1.0-beta.6(ec61b6689f2a44f9b75360cb3fbccfda))(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1))(studiocms@0.1.0-beta.30(86351946ee3baaddb2fc05a33555950b))(vite@6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1)) + specifier: https://pkg.pr.new/withstudiocms/studiocms/@studiocms/wysiwyg@05baab6 + version: https://pkg.pr.new/withstudiocms/studiocms/@studiocms/wysiwyg@05baab6(@studiocms/ui@1.0.0-beta.4(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1))(vite@6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1)))(@withstudiocms/component-registry@https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/component-registry@05baab6(c4a97722045c625718e5b56c61d9382d))(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1))(studiocms@https://pkg.pr.new/withstudiocms/studiocms@05baab6(8ed8ce9f8a8227c0c743f0f77e40a609))(vite@6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1)) '@types/hast': specifier: ^3.0.4 version: 3.0.4 @@ -96,8 +96,11 @@ importers: specifier: ^7.7.0 version: 7.7.1 '@withstudiocms/component-registry': - specifier: 0.1.0-beta.6 - version: 0.1.0-beta.6(ec61b6689f2a44f9b75360cb3fbccfda) + specifier: https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/component-registry@05baab6 + version: https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/component-registry@05baab6(c4a97722045c625718e5b56c61d9382d) + '@withstudiocms/kysely': + specifier: https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/kysely@05baab6 + version: https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/kysely@05baab6(@libsql/client@0.15.15)(effect@3.17.14)(mysql2@3.15.3)(pg@8.16.3) astro: specifier: ^5.12.9 version: 5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1) @@ -165,8 +168,8 @@ importers: specifier: ^0.6.0 version: 0.6.1(@astrojs/starlight@0.35.3(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1))) studiocms: - specifier: 0.1.0-beta.30 - version: 0.1.0-beta.30(86351946ee3baaddb2fc05a33555950b) + specifier: https://pkg.pr.new/withstudiocms/studiocms@05baab6 + version: https://pkg.pr.new/withstudiocms/studiocms@05baab6(8ed8ce9f8a8227c0c743f0f77e40a609) tsm: specifier: ^2.3.0 version: 2.3.0 @@ -374,8 +377,8 @@ packages: react: ^17.0.2 || ^18.0.0 || ^19.0.0 react-dom: ^17.0.2 || ^18.0.0 || ^19.0.0 - '@astrojs/rss@4.0.13': - resolution: {integrity: sha512-ugW4DmGn8kgfl8/qecU3EcKCAuEBrZqY7eYfa6at0sY7HGEwRdzsOafLE437RwDMP2ZuxfKnCNABs99YVhX0kg==} + '@astrojs/rss@4.0.14': + resolution: {integrity: sha512-KCe1imDcADKOOuO/wtKOMDO/umsBD6DWF+94r5auna1jKl5fmlK9vzf+sjA3EyveXA/FoB3khtQ/u/tQgETmTw==} '@astrojs/sitemap@3.6.0': resolution: {integrity: sha512-4aHkvcOZBWJigRmMIAJwRQXBS+ayoP5z40OklTXYXhUDhwusz+DyDl+nSshY6y9DvkVEavwNcFO8FD81iGhXjg==} @@ -936,8 +939,8 @@ packages: '@iconify-json/heroicons@1.2.3': resolution: {integrity: sha512-n+vmCEgTesRsOpp5AB5ILB6srsgsYK+bieoQBNlafvoEhjVXLq8nIGN4B0v/s4DUfa0dOrjwE/cKJgIKdJXOEg==} - '@iconify-json/simple-icons@1.2.57': - resolution: {integrity: sha512-/yWbO502M6WfvmcV5OjEgA4uoPN/76nrn7Hri/8g9L4GiNQ6VMgXWE9vFp4tDsmGMAe4ZCov3NbH6vJCgXZ1hA==} + '@iconify-json/simple-icons@1.2.61': + resolution: {integrity: sha512-DG6z3VEAxtDEw/SuZssZ/E8EvhjBhFQqxpEo3uckRKiia3LfZHmM4cx4RsaO2qX1Bqo9uadR5c/hYavvUQVuHw==} '@iconify/types@2.0.0': resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==} @@ -1245,22 +1248,45 @@ packages: '@libsql/client@0.15.15': resolution: {integrity: sha512-twC0hQxPNHPKfeOv3sNT6u2pturQjLcI+CnpTM0SjRpocEGgfiZ7DWKXLNnsothjyJmDqEsBQJ5ztq9Wlu470w==} + '@libsql/client@0.8.1': + resolution: {integrity: sha512-xGg0F4iTDFpeBZ0r4pA6icGsYa5rG6RAG+i/iLDnpCAnSuTqEWMDdPlVseiq4Z/91lWI9jvvKKiKpovqJ1kZWA==} + '@libsql/core@0.15.15': resolution: {integrity: sha512-C88Z6UKl+OyuKKPwz224riz02ih/zHYI3Ho/LAcVOgjsunIRZoBw7fjRfaH9oPMmSNeQfhGklSG2il1URoOIsA==} + '@libsql/core@0.8.1': + resolution: {integrity: sha512-u6nrj6HZMTPsgJ9EBhLzO2uhqhlHQJQmVHV+0yFLvfGf3oSP8w7TjZCNUgu1G8jHISx6KFi7bmcrdXW9lRt++A==} + + '@libsql/darwin-arm64@0.3.19': + resolution: {integrity: sha512-rmOqsLcDI65zzxlUOoEiPJLhqmbFsZF6p4UJQ2kMqB+Kc0Rt5/A1OAdOZ/Wo8fQfJWjR1IbkbpEINFioyKf+nQ==} + cpu: [arm64] + os: [darwin] + '@libsql/darwin-arm64@0.5.22': resolution: {integrity: sha512-4B8ZlX3nIDPndfct7GNe0nI3Yw6ibocEicWdC4fvQbSs/jdq/RC2oCsoJxJ4NzXkvktX70C1J4FcmmoBy069UA==} cpu: [arm64] os: [darwin] + '@libsql/darwin-x64@0.3.19': + resolution: {integrity: sha512-q9O55B646zU+644SMmOQL3FIfpmEvdWpRpzubwFc2trsa+zoBlSkHuzU9v/C+UNoPHQVRMP7KQctJ455I/h/xw==} + cpu: [x64] + os: [darwin] + '@libsql/darwin-x64@0.5.22': resolution: {integrity: sha512-ny2HYWt6lFSIdNFzUFIJ04uiW6finXfMNJ7wypkAD8Pqdm6nAByO+Fdqu8t7sD0sqJGeUCiOg480icjyQ2/8VA==} cpu: [x64] os: [darwin] + '@libsql/hrana-client@0.6.2': + resolution: {integrity: sha512-MWxgD7mXLNf9FXXiM0bc90wCjZSpErWKr5mGza7ERy2FJNNMXd7JIOv+DepBA1FQTIfI8TFO4/QDYgaQC0goNw==} + '@libsql/hrana-client@0.7.0': resolution: {integrity: sha512-OF8fFQSkbL7vJY9rfuegK1R7sPgQ6kFMkDamiEccNUvieQ+3urzfDFI616oPl8V7T9zRmnTkSjMOImYCAVRVuw==} + '@libsql/isomorphic-fetch@0.2.5': + resolution: {integrity: sha512-8s/B2TClEHms2yb+JGpsVRTPBfy1ih/Pq6h6gvyaNcYnMVJvgQRY7wAa8U2nD0dppbCuDU5evTNMEhrQ17ZKKg==} + engines: {node: '>=18.0.0'} + '@libsql/isomorphic-fetch@0.3.1': resolution: {integrity: sha512-6kK3SUK5Uu56zPq/Las620n5aS9xJq+jMBcNSOmjhNf/MUvdyji4vrMTqD7ptY7/4/CAVEAYDeotUz60LNQHtw==} engines: {node: '>=18.0.0'} @@ -1268,6 +1294,11 @@ packages: '@libsql/isomorphic-ws@0.1.5': resolution: {integrity: sha512-DtLWIH29onUYR00i0GlQ3UdcTRC6EP4u9w/h9LxpUZJWRMARk6dQwZ6Jkd+QdwVpuAOrdxt18v0K2uIYR3fwFg==} + '@libsql/kysely-libsql@0.4.1': + resolution: {integrity: sha512-mCTa6OWgoME8LNu22COM6XjKBmcMAvNtIO6DYM10jSAFq779fVlrTKQEmXIB8TwJVU65dA5jGCpT8gkDdWS0HQ==} + peerDependencies: + kysely: '*' + '@libsql/linux-arm-gnueabihf@0.5.22': resolution: {integrity: sha512-3Uo3SoDPJe/zBnyZKosziRGtszXaEtv57raWrZIahtQDsjxBVjuzYQinCm9LRCJCUT5t2r5Z5nLDPJi2CwZVoA==} cpu: [arm] @@ -1278,26 +1309,51 @@ packages: cpu: [arm] os: [linux] + '@libsql/linux-arm64-gnu@0.3.19': + resolution: {integrity: sha512-mgeAUU1oqqh57k7I3cQyU6Trpdsdt607eFyEmH5QO7dv303ti+LjUvh1pp21QWV6WX7wZyjeJV1/VzEImB+jRg==} + cpu: [arm64] + os: [linux] + '@libsql/linux-arm64-gnu@0.5.22': resolution: {integrity: sha512-KSdnOMy88c9mpOFKUEzPskSaF3VLflfSUCBwas/pn1/sV3pEhtMF6H8VUCd2rsedwoukeeCSEONqX7LLnQwRMA==} cpu: [arm64] os: [linux] + '@libsql/linux-arm64-musl@0.3.19': + resolution: {integrity: sha512-VEZtxghyK6zwGzU9PHohvNxthruSxBEnRrX7BSL5jQ62tN4n2JNepJ6SdzXp70pdzTfwroOj/eMwiPt94gkVRg==} + cpu: [arm64] + os: [linux] + '@libsql/linux-arm64-musl@0.5.22': resolution: {integrity: sha512-mCHSMAsDTLK5YH//lcV3eFEgiR23Ym0U9oEvgZA0667gqRZg/2px+7LshDvErEKv2XZ8ixzw3p1IrBzLQHGSsw==} cpu: [arm64] os: [linux] + '@libsql/linux-x64-gnu@0.3.19': + resolution: {integrity: sha512-2t/J7LD5w2f63wGihEO+0GxfTyYIyLGEvTFEsMO16XI5o7IS9vcSHrxsvAJs4w2Pf907uDjmc7fUfMg6L82BrQ==} + cpu: [x64] + os: [linux] + '@libsql/linux-x64-gnu@0.5.22': resolution: {integrity: sha512-kNBHaIkSg78Y4BqAdgjcR2mBilZXs4HYkAmi58J+4GRwDQZh5fIUWbnQvB9f95DkWUIGVeenqLRFY2pcTmlsew==} cpu: [x64] os: [linux] + '@libsql/linux-x64-musl@0.3.19': + resolution: {integrity: sha512-BLsXyJaL8gZD8+3W2LU08lDEd9MIgGds0yPy5iNPp8tfhXx3pV/Fge2GErN0FC+nzt4DYQtjL+A9GUMglQefXQ==} + cpu: [x64] + os: [linux] + '@libsql/linux-x64-musl@0.5.22': resolution: {integrity: sha512-UZ4Xdxm4pu3pQXjvfJiyCzZop/9j/eA2JjmhMaAhe3EVLH2g11Fy4fwyUp9sT1QJYR1kpc2JLuybPM0kuXv/Tg==} cpu: [x64] os: [linux] + '@libsql/win32-x64-msvc@0.3.19': + resolution: {integrity: sha512-ay1X9AobE4BpzG0XPw1gplyLZPGHIgJOovvW23gUrukRegiUP62uzhpRbKNogLlUOynyXeq//prHgPXiebUfWg==} + cpu: [x64] + os: [win32] + '@libsql/win32-x64-msvc@0.5.22': resolution: {integrity: sha512-Fj0j8RnBpo43tVZUVoNK6BV/9AtDUM5S7DF3LB4qTYg1LMSZqi3yeCneUTLJD6XomQJlZzbI4mst89yspVSAnA==} cpu: [x64] @@ -1790,71 +1846,75 @@ packages: '@standard-schema/spec@1.0.0': resolution: {integrity: sha512-m2bOd0f2RT9k8QJx1JN85cZYyH1RqFBdlwtkSlf4tBDYLCiiZnv1fIIwacK6cqwXavOydf0NPToMQgpKq+dVlA==} - '@studiocms/blog@0.1.0-beta.30': - resolution: {integrity: sha512-aWOTPpZa/qqZN52IosX0vBBdvmG1NJ/cFydCrtvmy700Vx9w0/grhWYMGrQUtdRch3bsnp7mQNsswR7eY6Rv+Q==} + '@studiocms/blog@https://pkg.pr.new/withstudiocms/studiocms/@studiocms/blog@05baab6': + resolution: {tarball: https://pkg.pr.new/withstudiocms/studiocms/@studiocms/blog@05baab6} + version: 0.1.0-beta.31 peerDependencies: - '@studiocms/md': 0.1.0-beta.30 + '@studiocms/md': 0.1.0-beta.31 astro: ^5.12.9 - effect: ^3.19.2 - studiocms: 0.1.0-beta.30 + effect: ^3.19.8 + studiocms: 0.1.0-beta.31 vite: ^6.3.4 - '@studiocms/cloudinary-image-service@0.1.0-beta.30': - resolution: {integrity: sha512-DeOuUsYSG5qVySawBytRF3NK4jBF1CuIfPaNYDH0CdekmSqxSauLbpUn82ppe5A2aiaEBTYxm/pJZkviqpPbuw==} + '@studiocms/cloudinary-image-service@https://pkg.pr.new/withstudiocms/studiocms/@studiocms/cloudinary-image-service@05baab6': + resolution: {tarball: https://pkg.pr.new/withstudiocms/studiocms/@studiocms/cloudinary-image-service@05baab6} + version: 0.1.0-beta.31 peerDependencies: astro: ^5.12.9 - effect: ^3.19.2 - studiocms: 0.1.0-beta.30 + effect: ^3.19.8 + studiocms: 0.1.0-beta.31 vite: ^6.3.4 - '@studiocms/devapps@0.1.0-beta.30': - resolution: {integrity: sha512-7i5LMbq1ejD2TBYCqwh6QLyal95KnwqIBZRy9GQPdtRS6L3dYiIN/Josq53aeuqi2G1IshpLlc2/yBEJBqutYg==} + '@studiocms/devapps@https://pkg.pr.new/withstudiocms/studiocms/@studiocms/devapps@05baab6': + resolution: {tarball: https://pkg.pr.new/withstudiocms/studiocms/@studiocms/devapps@05baab6} + version: 0.1.0-beta.31 peerDependencies: - '@astrojs/db': '>=0.17.2' + '@withstudiocms/kysely': 0.1.0-beta.1 astro: ^5.12.9 - effect: ^3.19.2 - studiocms: 0.1.0-beta.30 + effect: ^3.19.8 + studiocms: 0.1.0-beta.31 vite: ^6.3.4 - peerDependenciesMeta: - studiocms: - optional: true - '@studiocms/html@0.1.0-beta.30': - resolution: {integrity: sha512-Rv44Lcj0qSMy0DM8cjwk2+EAyVPVWCwOenRgcNbXqpkr8eE+9PGa3Y2NysSr27k+I0gK0cmWJdYqEuPF80cdnA==} + '@studiocms/html@https://pkg.pr.new/withstudiocms/studiocms/@studiocms/html@05baab6': + resolution: {tarball: https://pkg.pr.new/withstudiocms/studiocms/@studiocms/html@05baab6} + version: 0.1.0-beta.31 peerDependencies: astro: ^5.12.9 - effect: ^3.19.2 - studiocms: 0.1.0-beta.30 + effect: ^3.19.8 + studiocms: 0.1.0-beta.31 vite: ^6.3.4 - '@studiocms/markdoc@0.1.0-beta.30': - resolution: {integrity: sha512-Z9J/yZ72DgJjSnfk+bIjqW+pJIHgiLg7SMupE28ScNnbt+kb2apYpY2jhWIQt5tXFeLSscjo0+9D0khrVqLkCg==} + '@studiocms/markdoc@https://pkg.pr.new/withstudiocms/studiocms/@studiocms/markdoc@05baab6': + resolution: {tarball: https://pkg.pr.new/withstudiocms/studiocms/@studiocms/markdoc@05baab6} + version: 0.1.0-beta.31 peerDependencies: - '@studiocms/md': 0.1.0-beta.30 + '@studiocms/md': 0.1.0-beta.31 astro: ^5.12.9 - effect: ^3.19.2 - studiocms: 0.1.0-beta.30 + effect: ^3.19.8 + studiocms: 0.1.0-beta.31 vite: ^6.3.4 '@studiocms/markdown-remark-processor@1.2.0': resolution: {integrity: sha512-3qOupRze2HKO2VdcrN0c5j9ZYoM8hlhFjrs4m5pg4w5Do5I1MTuDDTXmfRnZ+CwDrXyUaYr+DK1Csb7zMYjzyA==} - '@studiocms/md@0.1.0-beta.30': - resolution: {integrity: sha512-Dp60a/IfX2GImUgbfTI4LLOvCk9MsLbCDGwhiY+uvD6SC6QNulsSZGuIo8qWvRk8pnZ4ai4cENJLX77fk1vyYQ==} + '@studiocms/md@https://pkg.pr.new/withstudiocms/studiocms/@studiocms/md@05baab6': + resolution: {tarball: https://pkg.pr.new/withstudiocms/studiocms/@studiocms/md@05baab6} + version: 0.1.0-beta.31 peerDependencies: '@astrojs/markdown-remark': ^6.3.3 astro: ^5.12.9 - effect: ^3.19.2 - studiocms: 0.1.0-beta.30 + effect: ^3.19.8 + studiocms: 0.1.0-beta.31 vite: ^6.3.4 - '@studiocms/mdx@0.1.0-beta.30': - resolution: {integrity: sha512-VmPDsee+xXTep+9CGGK/YpViyOJJQx5opQXAcHDEdCeH2swKPgJNRTE+ecZ8vlTxhiMxg/PtGChrdT+DfMmjSw==} + '@studiocms/mdx@https://pkg.pr.new/withstudiocms/studiocms/@studiocms/mdx@05baab6': + resolution: {tarball: https://pkg.pr.new/withstudiocms/studiocms/@studiocms/mdx@05baab6} + version: 0.1.0-beta.31 peerDependencies: - '@studiocms/md': 0.1.0-beta.30 + '@studiocms/md': 0.1.0-beta.31 astro: ^5.12.9 - effect: ^3.19.2 - studiocms: 0.1.0-beta.30 + effect: ^3.19.8 + studiocms: 0.1.0-beta.31 vite: ^6.3.4 '@studiocms/ui@1.0.0-beta.4': @@ -1868,13 +1928,14 @@ packages: peerDependencies: '@astrojs/db': '>=0.17.1' - '@studiocms/wysiwyg@0.1.0-beta.30': - resolution: {integrity: sha512-90Q3rlubHFn0tH7OjyFxVh+YP0Boyi+GB5KQicXNTox6ZauvP6x1p3nuFBLqH3vh36lH4nsafblxWoqBvhmqBQ==} + '@studiocms/wysiwyg@https://pkg.pr.new/withstudiocms/studiocms/@studiocms/wysiwyg@05baab6': + resolution: {tarball: https://pkg.pr.new/withstudiocms/studiocms/@studiocms/wysiwyg@05baab6} + version: 0.1.0-beta.31 peerDependencies: '@studiocms/ui': ^1.0.0-beta.4 - '@withstudiocms/component-registry': 0.1.0-beta.6 + '@withstudiocms/component-registry': 0.1.0-beta.7 astro: ^5.12.9 - studiocms: 0.1.0-beta.30 + studiocms: 0.1.0-beta.31 vite: ^6.3.4 '@swc/helpers@0.5.17': @@ -2036,8 +2097,9 @@ packages: '@vscode/l10n@0.0.18': resolution: {integrity: sha512-KYSIHVmslkaCDyw013pphY+d7x1qV8IZupYfeIfzNA+nsaWHbn5uPuQRvdRFsa9zFzGeudPuoGoZ1Op4jrJXIQ==} - '@withstudiocms/auth-kit@0.1.0-beta.5': - resolution: {integrity: sha512-oYDUA/h62CW83K2RGZISw7M2/Olnyvg9fidGfr4a/IypEdy1QNCQXf5fMM+IAHM73al44EsP/ZeqlIzTjPr8Zg==} + '@withstudiocms/auth-kit@https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/auth-kit@05baab6b8bb28c994f9aaa1c4f1e40af7c5cc0df': + resolution: {tarball: https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/auth-kit@05baab6b8bb28c994f9aaa1c4f1e40af7c5cc0df} + version: 0.1.0-beta.6 peerDependencies: astro: ^5.12.9 @@ -2045,42 +2107,68 @@ packages: resolution: {integrity: sha512-Nh2sTjL8YTcJ0eIR06yCLrv9qgeM7072L7eHRmMWKJF3weKL3cKSmYvNX3Kcyv4e7UO8pAdcjGfOxOQrCkM0Aw==} engines: {node: ^18.17.1 || ^20.3.0 || >=22.0.0} - '@withstudiocms/component-registry@0.1.0-beta.6': - resolution: {integrity: sha512-Q8EhOdkPUW0pxL8SUA9bjIZWQWeo0/iIdcfY78lyKuN2HIngnMZS8gt8IRrxUGdPCIdu/hybg+gxC5SDlneSZQ==} + '@withstudiocms/component-registry@https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/component-registry@05baab6': + resolution: {tarball: https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/component-registry@05baab6} + version: 0.1.0-beta.7 peerDependencies: astro: ^5.12.9 - '@withstudiocms/config-utils@0.1.0-beta.4': - resolution: {integrity: sha512-xs54wqS4VPKplf1kdzgBt6NRFq0Ig7Bbq63xf5Zs7bvEKqPBggrzSGqNSFEQ3d3Q+PkGwbjw9Xx6EJDUyL7lGg==} + '@withstudiocms/component-registry@https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/component-registry@05baab6b8bb28c994f9aaa1c4f1e40af7c5cc0df': + resolution: {tarball: https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/component-registry@05baab6b8bb28c994f9aaa1c4f1e40af7c5cc0df} + version: 0.1.0-beta.7 peerDependencies: astro: ^5.12.9 - '@withstudiocms/effect@0.1.0-beta.6': - resolution: {integrity: sha512-qkn6dOWyJZbuzAiak4W+4/aoKWgScWdUSzTDtH3Uhb2Z0MCA/c/mjX4XVXJ222U1biHUna9ag7dZz8QE26o9sg==} + '@withstudiocms/config-utils@https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/config-utils@05baab6b8bb28c994f9aaa1c4f1e40af7c5cc0df': + resolution: {tarball: https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/config-utils@05baab6b8bb28c994f9aaa1c4f1e40af7c5cc0df} + version: 0.1.0-beta.5 peerDependencies: - '@astrojs/db': '>=0.17.2' - '@effect/cli': ^0.72.0 - '@effect/platform': ^0.93.0 - '@effect/platform-node': ^0.100.0 - '@libsql/client': ^0.15.10 astro: ^5.12.9 - drizzle-orm: ^0.42.0 - effect: ^3.19.2 - peerDependenciesMeta: - '@astrojs/db': - optional: true - '@libsql/client': - optional: true - drizzle-orm: - optional: true - '@withstudiocms/internal_helpers@0.1.0-beta.3': - resolution: {integrity: sha512-U2ylydJu4Km4xY6xMymAOmLzu7Syu+qUAHPsLmDsQbXEozcUM2QiA/koxdh9juGmxK0hGNk+QXXEVcT4Ofo4zg==} + '@withstudiocms/effect@https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/effect@05baab6b8bb28c994f9aaa1c4f1e40af7c5cc0df': + resolution: {tarball: https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/effect@05baab6b8bb28c994f9aaa1c4f1e40af7c5cc0df} + version: 0.1.0-beta.7 peerDependencies: + '@effect/cli': ^0.72.1 + '@effect/platform': ^0.93.5 + '@effect/platform-node': ^0.102.0 astro: ^5.12.9 + effect: ^3.19.8 + + '@withstudiocms/internal_helpers@https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/internal_helpers@05baab6b8bb28c994f9aaa1c4f1e40af7c5cc0df': + resolution: {tarball: https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/internal_helpers@05baab6b8bb28c994f9aaa1c4f1e40af7c5cc0df} + version: 0.1.0-beta.4 + peerDependencies: + astro: ^5.12.9 + + '@withstudiocms/kysely@https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/kysely@05baab6': + resolution: {tarball: https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/kysely@05baab6} + version: 0.1.0-beta.1 + peerDependencies: + '@libsql/client': ^0.15.15 + effect: ^3.19.8 + mysql2: ^3.15.3 + pg: ^8.16.3 + + '@withstudiocms/kysely@https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/kysely@05baab6b8bb28c994f9aaa1c4f1e40af7c5cc0df': + resolution: {tarball: https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/kysely@05baab6b8bb28c994f9aaa1c4f1e40af7c5cc0df} + version: 0.1.0-beta.1 + peerDependencies: + '@libsql/client': ^0.15.15 + effect: ^3.19.8 + mysql2: ^3.15.3 + pg: ^8.16.3 + + '@withstudiocms/sdk@https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/sdk@05baab6b8bb28c994f9aaa1c4f1e40af7c5cc0df': + resolution: {tarball: https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/sdk@05baab6b8bb28c994f9aaa1c4f1e40af7c5cc0df} + version: 0.1.0-beta.1 + peerDependencies: + '@withstudiocms/effect': 0.1.0-beta.7 + '@withstudiocms/kysely': 0.1.0-beta.1 - '@withstudiocms/template-lang@0.1.0-beta.1': - resolution: {integrity: sha512-nD4T/glPcyKo1ZH7WiNv9nd7YFNERLUyPPqQ4nSkccuz6/GC3JaA3ImML3g8bVZ0zudVec7wK6+cPo5i9p3eaQ==} + '@withstudiocms/template-lang@https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/template-lang@05baab6b8bb28c994f9aaa1c4f1e40af7c5cc0df': + resolution: {tarball: https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/template-lang@05baab6b8bb28c994f9aaa1c4f1e40af7c5cc0df} + version: 0.1.0-beta.1 abab@2.0.6: resolution: {integrity: sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==} @@ -2244,6 +2332,10 @@ packages: aws-sign2@0.7.0: resolution: {integrity: sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==} + aws-ssl-profiles@1.1.2: + resolution: {integrity: sha512-NZKeq9AfyQvEeNlN0zSYAaWrmBffJh3IELMZfRpJVWgrpEbtEpnjvzqBPf+mxoI287JohRDoa+/nsfqqiZmF6g==} + engines: {node: '>= 6.0.0'} + aws4@1.13.2: resolution: {integrity: sha512-lHe62zvbTB5eEABUVi/AwVh0ZKY9rMMDhmm+eeyuuUQbQ3+J+fONVQOZyj+DdrvD4BY33uYniyRJ4UJIaSKAfw==} @@ -2556,6 +2648,10 @@ packages: delegates@1.0.0: resolution: {integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==} + denque@2.1.0: + resolution: {integrity: sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw==} + engines: {node: '>=0.10'} + depd@2.0.0: resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} engines: {node: '>= 0.8'} @@ -3109,6 +3205,9 @@ packages: engines: {node: '>=10'} deprecated: This package is no longer supported. + generate-function@2.3.1: + resolution: {integrity: sha512-eeB5GfMNeevm/GRYq20ShmsaGcmI81kIX2K9XQx5miC8KdHaC6Jm0qQ8ZNeGOi7wYB8OsdxKs+Y2oVuTFuVwKQ==} + gensync@1.0.0-beta.2: resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} engines: {node: '>=6.9.0'} @@ -3135,8 +3234,8 @@ packages: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} deprecated: Glob versions prior to v9 are no longer supported - grapesjs@0.22.13: - resolution: {integrity: sha512-GsLqv9ckVF7cWgp6aqlmxmLUJSsGvni4FHsKm9nxa6rv3acUeTkdR93GbbYaTejn5nFFCn9mBwzGGmGh9X+xHA==} + grapesjs@0.22.14: + resolution: {integrity: sha512-UyHKGtB9YOQ4bmvhmwY3H7J6SO30qgIH4qRp1ucUlblS21btMxY90xwQuAVIi+EFGl0wi8v1NBEYvA52eIEfyg==} graphemer@1.4.0: resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} @@ -3278,6 +3377,10 @@ packages: resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} engines: {node: '>=0.10.0'} + iconv-lite@0.7.0: + resolution: {integrity: sha512-cf6L2Ds3h57VVmkZe+Pn+5APsT7FpqJtEhhieDCvrE2MK5Qk9MyffgQyuxQTm6BChfeZNtcOLHp9IcWRVcIcBQ==} + engines: {node: '>=0.10.0'} + import-meta-resolve@4.2.0: resolution: {integrity: sha512-Iqv2fzaTQN28s/FwZAoFq0ZSs/7hMAHJVX+w8PZl3cY19Pxk6jFFalxQoIfW2826i/fDLXv8IiEZRIT0lDuWcg==} @@ -3367,6 +3470,9 @@ packages: resolution: {integrity: sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==} engines: {node: '>=0.10.0'} + is-property@1.0.2: + resolution: {integrity: sha512-Ks/IoX00TtClbGQr4TWXemAnktAQvYB7HzcCxDGqEZU6oCmb2INHuOoKxbtR+HFkmYWBKv/dOZtGRiAjDhj92g==} + is-typedarray@1.0.0: resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==} @@ -3392,8 +3498,8 @@ packages: resolution: {integrity: sha512-VXe6RjJkBPj0ohtqaO8vSWP3ZhAKo66fKrFNCll4BTcwljPLz03pCbaNKfzGP5MbrCYcbJ7v0nOYYwUzTEIdXQ==} hasBin: true - jose@6.1.0: - resolution: {integrity: sha512-TTQJyoEoKcC1lscpVDCSsVgYzUDg/0Bt3WE//WiTPK6uOCQC2KZS4MpugbMWt/zyjkopgZoXhZuCi00gLudfUA==} + jose@6.1.3: + resolution: {integrity: sha512-0TpaTfihd4QMNwrz/ob2Bp7X04yuxJkjRGi4aKmOqwhov54i6u79oCv7T+C7lo70MKH6BesI3vscD1yb/yzKXQ==} js-base64@3.7.8: resolution: {integrity: sha512-hNngCeKxIUQiEUN3GPJOkz4wF/YvdUdbNL9hsBcMQTkKzboD7T/q3OYOuuPZLUE6dBxSGpwhk5mwuDud7JVAow==} @@ -3473,10 +3579,19 @@ packages: '@types/node': '>=18' typescript: '>=5.0.4' + kysely@0.28.8: + resolution: {integrity: sha512-QUOgl5ZrS9IRuhq5FvOKFSsD/3+IA6MLE81/bOOTRA/YQpKDza2sFdN5g6JCB9BOpqMJDGefLCQ9F12hRS13TA==} + engines: {node: '>=20.0.0'} + levn@0.3.0: resolution: {integrity: sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==} engines: {node: '>= 0.8.0'} + libsql@0.3.19: + resolution: {integrity: sha512-Aj5cQ5uk/6fHdmeW0TiXK42FqUlwx7ytmMLPSaUQPin5HKKKuUPD62MAbN4OEweGBBI7q1BekoEN4gPUEL6MZA==} + cpu: [x64, arm64, wasm32] + os: [darwin, linux, win32] + libsql@0.5.22: resolution: {integrity: sha512-NscWthMQt7fpU8lqd7LXMvT9pi+KhhmTHAJWUB/Lj6MWa0MKFv0F2V4C6WKKpjCVZl0VwcDz4nOI3CyaT1DDiA==} cpu: [x64, arm64, wasm32, arm] @@ -3494,6 +3609,9 @@ packages: lodash@4.17.21: resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} + long@5.3.2: + resolution: {integrity: sha512-mNAgZ1GmyNhD7AuqnTG3/VQ26o760+ZYBPKjPvugO8+nLbYfX6TVpJPseBvopbdY+qpZ/lKUnmEc1LeZYS3QAA==} + longest-streak@3.1.0: resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==} @@ -3506,6 +3624,14 @@ packages: lru-cache@5.1.1: resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} + lru-cache@7.18.3: + resolution: {integrity: sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==} + engines: {node: '>=12'} + + lru.min@1.1.3: + resolution: {integrity: sha512-Lkk/vx6ak3rYkRR0Nhu4lFUT2VDnQSxBe8Hbl7f36358p6ow8Bnvr8lrLt98H8J1aGxfhbX4Fs5tYg2+FTwr5Q==} + engines: {bun: '>=1.0.0', deno: '>=1.30.0', node: '>=8.0.0'} + magic-string@0.30.19: resolution: {integrity: sha512-2N21sPY9Ws53PZvsEpVtNuSW+ScYbQdp4b9qUaL+9QkHUrGFKo56Lg9Emg5s9V/qrtNBmiR01sYhUOwu3H+VOw==} @@ -3782,6 +3908,14 @@ packages: multipasta@0.2.7: resolution: {integrity: sha512-KPA58d68KgGil15oDqXjkUBEBYc00XvbPj5/X+dyzeo/lWm9Nc25pQRlf1D+gv4OpK7NM0J1odrbu9JNNGvynA==} + mysql2@3.15.3: + resolution: {integrity: sha512-FBrGau0IXmuqg4haEZRBfHNWB5mUARw6hNwPDXXGg0XzVJ50mr/9hb267lvpVMnhZ1FON3qNd4Xfcez1rbFwSg==} + engines: {node: '>= 8.0'} + + named-placeholders@1.1.3: + resolution: {integrity: sha512-eLoBxg6wE/rZkJPhU/xRX1WTpkFEwDJEN96oxFrTsqBdbT5ec295Q+CoHrL9IT0DipqKhmGcaZmwOt8OON5x1w==} + engines: {node: '>=12.0.0'} + nan@2.23.0: resolution: {integrity: sha512-1UxuyYGdoQHcGg87Lkqm3FzefucTa0NAiOcuRsDmysep3c1LVCRK2krrUDafMWtjSG04htvAmvg96+SDknOmgQ==} @@ -3795,8 +3929,8 @@ packages: engines: {node: ^18 || >=20} hasBin: true - nanostores@1.0.1: - resolution: {integrity: sha512-kNZ9xnoJYKg/AfxjrVL4SS0fKX++4awQReGqWnwTRHxeHGZ1FJFVgTqr/eMrNQdp0Tz7M7tG/TDaX8QfHDwVCw==} + nanostores@1.1.0: + resolution: {integrity: sha512-yJBmDJr18xy47dbNVlHcgdPrulSn1nhSE6Ns9vTG+Nx9VPT6iV1MD6aQFp/t52zpf82FhLLTXAXr30NuCnxvwA==} engines: {node: ^20.0.0 || >=22.0.0} napi-postinstall@0.3.3: @@ -3845,8 +3979,8 @@ packages: node-releases@2.0.21: resolution: {integrity: sha512-5b0pgg78U3hwXkCM8Z9b2FJdPZlr9Psr9V2gQPESdGHqbntyFJKFW4r5TeWGFzafGY3hzs1JC62VEQMbl1JFkw==} - nodemailer@7.0.10: - resolution: {integrity: sha512-Us/Se1WtT0ylXgNFfyFSx4LElllVLJXQjWi2Xz17xWw7amDKO2MLtFnVp1WACy7GkVGs+oBlRopVNUzlrGSw1w==} + nodemailer@7.0.11: + resolution: {integrity: sha512-gnXhNRE0FNhD7wPSCGhdNh46Hs6nm+uTyg+Kq0cZukNQiYdnCsoQjodNP9BQVG9XrcK/v6/MgpAPBUFyzh9pvw==} engines: {node: '>=6.0.0'} nopt@1.0.10: @@ -3940,8 +4074,8 @@ packages: package-manager-detector@1.3.0: resolution: {integrity: sha512-ZsEbbZORsyHuO00lY1kV3/t72yp6Ysay6Pd17ZAlNGuGwmWDLCJxFpRs0IzfXfj1o4icJOkUEioexFHzyPurSQ==} - package-manager-detector@1.5.0: - resolution: {integrity: sha512-uBj69dVlYe/+wxj8JOpr97XfsxH/eumMt6HqjNTmJDf/6NO9s+0uxeOneIz3AsPt2m6y9PqzDzd3ATcU17MNfw==} + package-manager-detector@1.6.0: + resolution: {integrity: sha512-61A5ThoTiDG/C8s8UMZwSorAGwMJ0ERVGj2OjoW5pAalsNOg15+iQiPzrLJ4jhZ1HJzmC2PIHT2oEiH3R5fzNA==} pagefind@1.4.0: resolution: {integrity: sha512-z2kY1mQlL4J8q5EIsQkLzQjilovKzfNVhX8De6oyE6uHpfFtyBaqUpcl/XzJC/4fjD8vBDyh1zolimIcVrCn9g==} @@ -3990,6 +4124,43 @@ packages: performance-now@2.1.0: resolution: {integrity: sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==} + pg-cloudflare@1.2.7: + resolution: {integrity: sha512-YgCtzMH0ptvZJslLM1ffsY4EuGaU0cx4XSdXLRFae8bPP4dS5xL1tNB3k2o/N64cHJpwU7dxKli/nZ2lUa5fLg==} + + pg-connection-string@2.9.1: + resolution: {integrity: sha512-nkc6NpDcvPVpZXxrreI/FOtX3XemeLl8E0qFr6F2Lrm/I8WOnaWNhIPK2Z7OHpw7gh5XJThi6j6ppgNoaT1w4w==} + + pg-int8@1.0.1: + resolution: {integrity: sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==} + engines: {node: '>=4.0.0'} + + pg-pool@3.10.1: + resolution: {integrity: sha512-Tu8jMlcX+9d8+QVzKIvM/uJtp07PKr82IUOYEphaWcoBhIYkoHpLXN3qO59nAI11ripznDsEzEv8nUxBVWajGg==} + peerDependencies: + pg: '>=8.0' + + pg-protocol@1.10.3: + resolution: {integrity: sha512-6DIBgBQaTKDJyxnXaLiLR8wBpQQcGWuAESkRBX/t6OwA8YsqP+iVSiond2EDy6Y/dsGk8rh/jtax3js5NeV7JQ==} + + pg-types@2.2.0: + resolution: {integrity: sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==} + engines: {node: '>=4'} + + pg@8.16.3: + resolution: {integrity: sha512-enxc1h0jA/aq5oSDMvqyW3q89ra6XIIDZgCX9vkMrnz5DFTw/Ny3Li2lFQ+pt3L6MCgm/5o2o8HW9hiJji+xvw==} + engines: {node: '>= 16.0.0'} + peerDependencies: + pg-native: '>=3.0.1' + peerDependenciesMeta: + pg-native: + optional: true + + pgpass@1.0.5: + resolution: {integrity: sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug==} + + piccolore@0.1.3: + resolution: {integrity: sha512-o8bTeDWjE086iwKrROaDf31K0qC/BENdm15/uH9usSC/uZjJOKb2YGiVHfLY4GhwsERiPI1jmwI2XrA7ACOxVw==} + picocolors@1.1.1: resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} @@ -4018,6 +4189,22 @@ packages: resolution: {integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==} engines: {node: ^10 || ^12 || >=14} + postgres-array@2.0.0: + resolution: {integrity: sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==} + engines: {node: '>=4'} + + postgres-bytea@1.0.0: + resolution: {integrity: sha512-xy3pmLuQqRBZBXDULy7KbaitYqLcmxigw14Q5sj8QBVLqEwXfeybIKVWiqAXTlcvdvb0+xkOtDbfQMOf4lST1w==} + engines: {node: '>=0.10.0'} + + postgres-date@1.0.7: + resolution: {integrity: sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==} + engines: {node: '>=0.10.0'} + + postgres-interval@1.2.0: + resolution: {integrity: sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==} + engines: {node: '>=0.10.0'} + preact@10.27.2: resolution: {integrity: sha512-5SYSgFKSyhCbk6SrXyMpqjb5+MQBgfvEKE/OC+PujcY34sOpqtr+0AZQtPYx5IA6VxynQ7rUPCtKzyovpj9Bpg==} @@ -4289,6 +4476,9 @@ packages: resolution: {integrity: sha512-uaW0WwXKpL9blXE2o0bRhoL2EGXIrZxQ2ZQ4mgcfoBxdFmQold+qWsD2jLrfZ0trjKL6vOw0j//eAwcALFjKSw==} engines: {node: '>= 18'} + seq-queue@0.0.5: + resolution: {integrity: sha512-hr3Wtp/GZIc/6DAGPDcV4/9WoZhjrkXsi5B/07QgX8tsdc6ilr7BFM6PM6rbdAX1kFSDYeZGLipIZZKyQP0O5Q==} + server-destroy@1.0.1: resolution: {integrity: sha512-rb+9B5YBIEzYcD6x2VKidaa+cqYBJQKnU4oe4E3ANwRRN56yk/ua1YCJT1n21NTS8w6CcOclAKNP3PhdCXKYtQ==} @@ -4367,6 +4557,14 @@ packages: space-separated-tokens@2.0.2: resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==} + split2@4.2.0: + resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} + engines: {node: '>= 10.x'} + + sqlstring@2.3.3: + resolution: {integrity: sha512-qC9iz2FlN7DQl3+wjwn3802RTyjCx7sDvfQEXchwa6CWOx07/WVfh91gBmQ9fahw8snwGEWU3xGzOt4tFyHLxg==} + engines: {node: '>= 0.6'} + sshpk@1.18.0: resolution: {integrity: sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ==} engines: {node: '>=0.10.0'} @@ -4440,20 +4638,14 @@ packages: strnum@2.1.1: resolution: {integrity: sha512-7ZvoFTiCnGxBtDqJ//Cu6fWtZtc7Y3x+QOirG15wztbdngGSkht27o2pyGWrVy0b4WAy3jbKmnoK6g5VlVNUUw==} - studiocms@0.1.0-beta.30: - resolution: {integrity: sha512-KSBg7THqvrKdLD5uR3q54E8hAhtRFo/YbVQDUI8Mu65fIv0PRY4Yy1Co36WDwsWGyZsnIblWcfCMfE5hs0TBew==} + studiocms@https://pkg.pr.new/withstudiocms/studiocms@05baab6: + resolution: {tarball: https://pkg.pr.new/withstudiocms/studiocms@05baab6} + version: 0.1.0-beta.31 hasBin: true peerDependencies: - '@astrojs/db': '>=0.17.2' - '@libsql/client': ^0.15.10 - '@studiocms/web-vitals': ^4.5.3 astro: ^5.12.9 - drizzle-orm: ^0.42.0 - effect: ^3.19.2 + effect: ^3.19.8 vite: ^6.3.4 - peerDependenciesMeta: - '@studiocms/web-vitals': - optional: true style-to-js@1.1.17: resolution: {integrity: sha512-xQcBGDxJb6jjFCTzvQtfiPn6YvvP2O8U1MDIPNfJQlWMYfktPy+iGsHE7cssjs7y84d9fQaK4UF3RIJaAHSoYA==} @@ -5034,6 +5226,10 @@ packages: xmlchars@2.2.0: resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==} + xtend@4.0.2: + resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} + engines: {node: '>=0.4'} + xxhash-wasm@1.1.0: resolution: {integrity: sha512-147y/6YNh+tlp6nd/2pWq38i9h6mz/EuQ6njIrmW8D1BS5nCqs0P6DG+m6zTGnNz5I+uhZ0SHxBs9BsPrwcKDA==} @@ -5304,11 +5500,11 @@ snapshots: '@astrojs/compiler@2.13.0': {} - '@astrojs/db@0.18.0': + '@astrojs/db@0.18.0(kysely@0.28.8)(mysql2@3.15.3)(pg@8.16.3)': dependencies: '@libsql/client': 0.15.15 deep-diff: 1.0.2 - drizzle-orm: 0.42.0(@libsql/client@0.15.15) + drizzle-orm: 0.42.0(@libsql/client@0.15.15)(kysely@0.28.8)(mysql2@3.15.3)(pg@8.16.3) kleur: 4.1.5 nanoid: 5.1.6 prompts: 2.4.2 @@ -5453,10 +5649,10 @@ snapshots: - tsx - yaml - '@astrojs/rss@4.0.13': + '@astrojs/rss@4.0.14': dependencies: fast-xml-parser: 5.3.0 - picocolors: 1.1.1 + piccolore: 0.1.3 '@astrojs/sitemap@3.6.0': dependencies: @@ -6036,7 +6232,7 @@ snapshots: dependencies: '@iconify/types': 2.0.0 - '@iconify-json/simple-icons@1.2.57': + '@iconify-json/simple-icons@1.2.61': dependencies: '@iconify/types': 2.0.0 @@ -6270,16 +6466,47 @@ snapshots: - bufferutil - utf-8-validate + '@libsql/client@0.8.1': + dependencies: + '@libsql/core': 0.8.1 + '@libsql/hrana-client': 0.6.2 + js-base64: 3.7.8 + libsql: 0.3.19 + promise-limit: 2.7.0 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + '@libsql/core@0.15.15': dependencies: js-base64: 3.7.8 + '@libsql/core@0.8.1': + dependencies: + js-base64: 3.7.8 + + '@libsql/darwin-arm64@0.3.19': + optional: true + '@libsql/darwin-arm64@0.5.22': optional: true + '@libsql/darwin-x64@0.3.19': + optional: true + '@libsql/darwin-x64@0.5.22': optional: true + '@libsql/hrana-client@0.6.2': + dependencies: + '@libsql/isomorphic-fetch': 0.2.5 + '@libsql/isomorphic-ws': 0.1.5 + js-base64: 3.7.8 + node-fetch: 3.3.2 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + '@libsql/hrana-client@0.7.0': dependencies: '@libsql/isomorphic-fetch': 0.3.1 @@ -6290,6 +6517,8 @@ snapshots: - bufferutil - utf-8-validate + '@libsql/isomorphic-fetch@0.2.5': {} + '@libsql/isomorphic-fetch@0.3.1': {} '@libsql/isomorphic-ws@0.1.5': @@ -6300,24 +6529,47 @@ snapshots: - bufferutil - utf-8-validate + '@libsql/kysely-libsql@0.4.1(kysely@0.28.8)': + dependencies: + '@libsql/client': 0.8.1 + kysely: 0.28.8 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + '@libsql/linux-arm-gnueabihf@0.5.22': optional: true '@libsql/linux-arm-musleabihf@0.5.22': optional: true + '@libsql/linux-arm64-gnu@0.3.19': + optional: true + '@libsql/linux-arm64-gnu@0.5.22': optional: true + '@libsql/linux-arm64-musl@0.3.19': + optional: true + '@libsql/linux-arm64-musl@0.5.22': optional: true + '@libsql/linux-x64-gnu@0.3.19': + optional: true + '@libsql/linux-x64-gnu@0.5.22': optional: true + '@libsql/linux-x64-musl@0.3.19': + optional: true + '@libsql/linux-x64-musl@0.5.22': optional: true + '@libsql/win32-x64-msvc@0.3.19': + optional: true + '@libsql/win32-x64-msvc@0.5.22': optional: true @@ -6409,13 +6661,13 @@ snapshots: '@msgpackr-extract/msgpackr-extract-win32-x64@3.0.3': optional: true - '@nanostores/i18n@1.2.2(nanostores@1.0.1)': + '@nanostores/i18n@1.2.2(nanostores@1.1.0)': dependencies: - nanostores: 1.0.1 + nanostores: 1.1.0 - '@nanostores/persistent@1.2.0(nanostores@1.0.1)': + '@nanostores/persistent@1.2.0(nanostores@1.1.0)': dependencies: - nanostores: 1.0.1 + nanostores: 1.1.0 '@napi-rs/wasm-runtime@1.0.5': dependencies: @@ -6707,59 +6959,58 @@ snapshots: '@standard-schema/spec@1.0.0': {} - '@studiocms/blog@0.1.0-beta.30(@studiocms/md@0.1.0-beta.30(@astrojs/markdown-remark@6.3.7)(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1))(effect@3.17.14)(studiocms@0.1.0-beta.30(86351946ee3baaddb2fc05a33555950b))(vite@6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1)))(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1))(effect@3.17.14)(studiocms@0.1.0-beta.30(86351946ee3baaddb2fc05a33555950b))(vite@6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1))': + '@studiocms/blog@https://pkg.pr.new/withstudiocms/studiocms/@studiocms/blog@05baab6(@studiocms/md@https://pkg.pr.new/withstudiocms/studiocms/@studiocms/md@05baab6(@astrojs/markdown-remark@6.3.7)(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1))(effect@3.17.14)(studiocms@https://pkg.pr.new/withstudiocms/studiocms@05baab6(8ed8ce9f8a8227c0c743f0f77e40a609))(vite@6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1)))(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1))(effect@3.17.14)(studiocms@https://pkg.pr.new/withstudiocms/studiocms@05baab6(8ed8ce9f8a8227c0c743f0f77e40a609))(vite@6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1))': dependencies: - '@astrojs/rss': 4.0.13 - '@studiocms/md': 0.1.0-beta.30(@astrojs/markdown-remark@6.3.7)(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1))(effect@3.17.14)(studiocms@0.1.0-beta.30(86351946ee3baaddb2fc05a33555950b))(vite@6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1)) + '@astrojs/rss': 4.0.14 + '@studiocms/md': https://pkg.pr.new/withstudiocms/studiocms/@studiocms/md@05baab6(@astrojs/markdown-remark@6.3.7)(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1))(effect@3.17.14)(studiocms@https://pkg.pr.new/withstudiocms/studiocms@05baab6(8ed8ce9f8a8227c0c743f0f77e40a609))(vite@6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1)) astro: 5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1) astro-integration-kit: 0.19.1(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1)) effect: 3.17.14 - studiocms: 0.1.0-beta.30(86351946ee3baaddb2fc05a33555950b) + studiocms: https://pkg.pr.new/withstudiocms/studiocms@05baab6(8ed8ce9f8a8227c0c743f0f77e40a609) vite: 6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1) - '@studiocms/cloudinary-image-service@0.1.0-beta.30(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1))(effect@3.17.14)(studiocms@0.1.0-beta.30(86351946ee3baaddb2fc05a33555950b))(vite@6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1))': + '@studiocms/cloudinary-image-service@https://pkg.pr.new/withstudiocms/studiocms/@studiocms/cloudinary-image-service@05baab6(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1))(effect@3.17.14)(studiocms@https://pkg.pr.new/withstudiocms/studiocms@05baab6(8ed8ce9f8a8227c0c743f0f77e40a609))(vite@6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1))': dependencies: '@cloudinary/url-gen': 1.22.0 astro: 5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1) astro-integration-kit: 0.19.1(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1)) effect: 3.17.14 - studiocms: 0.1.0-beta.30(86351946ee3baaddb2fc05a33555950b) + studiocms: https://pkg.pr.new/withstudiocms/studiocms@05baab6(8ed8ce9f8a8227c0c743f0f77e40a609) vite: 6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1) - '@studiocms/devapps@0.1.0-beta.30(@astrojs/db@0.18.0)(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1))(effect@3.17.14)(studiocms@0.1.0-beta.30(86351946ee3baaddb2fc05a33555950b))(vite@6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1))': + '@studiocms/devapps@https://pkg.pr.new/withstudiocms/studiocms/@studiocms/devapps@05baab6(@withstudiocms/kysely@https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/kysely@05baab6(@libsql/client@0.15.15)(effect@3.17.14)(mysql2@3.15.3)(pg@8.16.3))(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1))(effect@3.17.14)(studiocms@https://pkg.pr.new/withstudiocms/studiocms@05baab6(8ed8ce9f8a8227c0c743f0f77e40a609))(vite@6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1))': dependencies: - '@astrojs/db': 0.18.0 + '@withstudiocms/kysely': https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/kysely@05baab6(@libsql/client@0.15.15)(effect@3.17.14)(mysql2@3.15.3)(pg@8.16.3) astro: 5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1) astro-integration-kit: 0.19.1(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1)) cheerio: 1.1.2 effect: 3.17.14 sanitize-html: 2.17.0 + studiocms: https://pkg.pr.new/withstudiocms/studiocms@05baab6(8ed8ce9f8a8227c0c743f0f77e40a609) turndown: 7.2.2 vite: 6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1) - optionalDependencies: - studiocms: 0.1.0-beta.30(86351946ee3baaddb2fc05a33555950b) - '@studiocms/html@0.1.0-beta.30(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1))(effect@3.17.14)(studiocms@0.1.0-beta.30(86351946ee3baaddb2fc05a33555950b))(vite@6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1))': + '@studiocms/html@https://pkg.pr.new/withstudiocms/studiocms/@studiocms/html@05baab6(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1))(effect@3.17.14)(studiocms@https://pkg.pr.new/withstudiocms/studiocms@05baab6(8ed8ce9f8a8227c0c743f0f77e40a609))(vite@6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1))': dependencies: astro: 5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1) astro-integration-kit: 0.19.1(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1)) codemirror: 5.65.19 effect: 3.17.14 katex: 0.16.25 - studiocms: 0.1.0-beta.30(86351946ee3baaddb2fc05a33555950b) + studiocms: https://pkg.pr.new/withstudiocms/studiocms@05baab6(8ed8ce9f8a8227c0c743f0f77e40a609) suneditor: 2.47.8 vite: 6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1) - '@studiocms/markdoc@0.1.0-beta.30(@studiocms/md@0.1.0-beta.30(@astrojs/markdown-remark@6.3.7)(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1))(effect@3.17.14)(studiocms@0.1.0-beta.30(86351946ee3baaddb2fc05a33555950b))(vite@6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1)))(@types/react@19.1.13)(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1))(effect@3.17.14)(studiocms@0.1.0-beta.30(86351946ee3baaddb2fc05a33555950b))(vite@6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1))': + '@studiocms/markdoc@https://pkg.pr.new/withstudiocms/studiocms/@studiocms/markdoc@05baab6(@studiocms/md@https://pkg.pr.new/withstudiocms/studiocms/@studiocms/md@05baab6(@astrojs/markdown-remark@6.3.7)(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1))(effect@3.17.14)(studiocms@https://pkg.pr.new/withstudiocms/studiocms@05baab6(8ed8ce9f8a8227c0c743f0f77e40a609))(vite@6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1)))(@types/react@19.1.13)(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1))(effect@3.17.14)(studiocms@https://pkg.pr.new/withstudiocms/studiocms@05baab6(8ed8ce9f8a8227c0c743f0f77e40a609))(vite@6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1))': dependencies: '@markdoc/markdoc': 0.5.4(@types/react@19.1.13)(react@19.2.0) - '@studiocms/md': 0.1.0-beta.30(@astrojs/markdown-remark@6.3.7)(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1))(effect@3.17.14)(studiocms@0.1.0-beta.30(86351946ee3baaddb2fc05a33555950b))(vite@6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1)) + '@studiocms/md': https://pkg.pr.new/withstudiocms/studiocms/@studiocms/md@05baab6(@astrojs/markdown-remark@6.3.7)(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1))(effect@3.17.14)(studiocms@https://pkg.pr.new/withstudiocms/studiocms@05baab6(8ed8ce9f8a8227c0c743f0f77e40a609))(vite@6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1)) astro: 5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1) astro-integration-kit: 0.19.1(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1)) effect: 3.17.14 react: 19.2.0 react-dom: 19.2.0(react@19.2.0) - studiocms: 0.1.0-beta.30(86351946ee3baaddb2fc05a33555950b) + studiocms: https://pkg.pr.new/withstudiocms/studiocms@05baab6(8ed8ce9f8a8227c0c743f0f77e40a609) vite: 6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1) transitivePeerDependencies: - '@types/react' @@ -6796,22 +7047,22 @@ snapshots: transitivePeerDependencies: - supports-color - '@studiocms/md@0.1.0-beta.30(@astrojs/markdown-remark@6.3.7)(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1))(effect@3.17.14)(studiocms@0.1.0-beta.30(86351946ee3baaddb2fc05a33555950b))(vite@6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1))': + '@studiocms/md@https://pkg.pr.new/withstudiocms/studiocms/@studiocms/md@05baab6(@astrojs/markdown-remark@6.3.7)(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1))(effect@3.17.14)(studiocms@https://pkg.pr.new/withstudiocms/studiocms@05baab6(8ed8ce9f8a8227c0c743f0f77e40a609))(vite@6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1))': dependencies: '@astrojs/markdown-remark': 6.3.7 '@studiocms/markdown-remark-processor': 1.2.0 astro: 5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1) astro-integration-kit: 0.19.1(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1)) effect: 3.17.14 - studiocms: 0.1.0-beta.30(86351946ee3baaddb2fc05a33555950b) + studiocms: https://pkg.pr.new/withstudiocms/studiocms@05baab6(8ed8ce9f8a8227c0c743f0f77e40a609) vite: 6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1) transitivePeerDependencies: - supports-color - '@studiocms/mdx@0.1.0-beta.30(@studiocms/md@0.1.0-beta.30(@astrojs/markdown-remark@6.3.7)(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1))(effect@3.17.14)(studiocms@0.1.0-beta.30(86351946ee3baaddb2fc05a33555950b))(vite@6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1)))(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1))(effect@3.17.14)(studiocms@0.1.0-beta.30(86351946ee3baaddb2fc05a33555950b))(vite@6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1))': + '@studiocms/mdx@https://pkg.pr.new/withstudiocms/studiocms/@studiocms/mdx@05baab6(@studiocms/md@https://pkg.pr.new/withstudiocms/studiocms/@studiocms/md@05baab6(@astrojs/markdown-remark@6.3.7)(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1))(effect@3.17.14)(studiocms@https://pkg.pr.new/withstudiocms/studiocms@05baab6(8ed8ce9f8a8227c0c743f0f77e40a609))(vite@6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1)))(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1))(effect@3.17.14)(studiocms@https://pkg.pr.new/withstudiocms/studiocms@05baab6(8ed8ce9f8a8227c0c743f0f77e40a609))(vite@6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1))': dependencies: '@mdx-js/mdx': 3.1.1 - '@studiocms/md': 0.1.0-beta.30(@astrojs/markdown-remark@6.3.7)(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1))(effect@3.17.14)(studiocms@0.1.0-beta.30(86351946ee3baaddb2fc05a33555950b))(vite@6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1)) + '@studiocms/md': https://pkg.pr.new/withstudiocms/studiocms/@studiocms/md@05baab6(@astrojs/markdown-remark@6.3.7)(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1))(effect@3.17.14)(studiocms@https://pkg.pr.new/withstudiocms/studiocms@05baab6(8ed8ce9f8a8227c0c743f0f77e40a609))(vite@6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1)) astro: 5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1) astro-integration-kit: 0.19.1(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1)) effect: 3.17.14 @@ -6819,7 +7070,7 @@ snapshots: react-dom: 19.2.0(react@19.2.0) rehype-highlight: 7.0.2 remark-gfm: 4.0.1 - studiocms: 0.1.0-beta.30(86351946ee3baaddb2fc05a33555950b) + studiocms: https://pkg.pr.new/withstudiocms/studiocms@05baab6(8ed8ce9f8a8227c0c743f0f77e40a609) unified: 11.0.5 vite: 6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1) transitivePeerDependencies: @@ -6834,20 +7085,20 @@ snapshots: astro-transition-event-polyfill: 1.1.0(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1)) vite: 6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1) - '@studiocms/web-vitals@4.5.3(@astrojs/db@0.18.0)': + '@studiocms/web-vitals@4.5.3(@astrojs/db@0.18.0(kysely@0.28.8)(mysql2@3.15.3)(pg@8.16.3))': dependencies: - '@astrojs/db': 0.18.0 + '@astrojs/db': 0.18.0(kysely@0.28.8)(mysql2@3.15.3)(pg@8.16.3) web-vitals: 5.1.0 - '@studiocms/wysiwyg@0.1.0-beta.30(@studiocms/ui@1.0.0-beta.4(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1))(vite@6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1)))(@withstudiocms/component-registry@0.1.0-beta.6(ec61b6689f2a44f9b75360cb3fbccfda))(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1))(studiocms@0.1.0-beta.30(86351946ee3baaddb2fc05a33555950b))(vite@6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1))': + '@studiocms/wysiwyg@https://pkg.pr.new/withstudiocms/studiocms/@studiocms/wysiwyg@05baab6(@studiocms/ui@1.0.0-beta.4(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1))(vite@6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1)))(@withstudiocms/component-registry@https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/component-registry@05baab6(c4a97722045c625718e5b56c61d9382d))(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1))(studiocms@https://pkg.pr.new/withstudiocms/studiocms@05baab6(8ed8ce9f8a8227c0c743f0f77e40a609))(vite@6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1))': dependencies: '@studiocms/ui': 1.0.0-beta.4(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1))(vite@6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1)) - '@withstudiocms/component-registry': 0.1.0-beta.6(ec61b6689f2a44f9b75360cb3fbccfda) + '@withstudiocms/component-registry': https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/component-registry@05baab6(c4a97722045c625718e5b56c61d9382d) astro: 5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1) astro-integration-kit: 0.19.1(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1)) deepmerge-ts: 7.1.5 - grapesjs: 0.22.13 - studiocms: 0.1.0-beta.30(86351946ee3baaddb2fc05a33555950b) + grapesjs: 0.22.14 + studiocms: https://pkg.pr.new/withstudiocms/studiocms@05baab6(8ed8ce9f8a8227c0c743f0f77e40a609) tui-image-editor: 3.15.3 vite: 6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1) transitivePeerDependencies: @@ -7065,20 +7316,17 @@ snapshots: '@vscode/l10n@0.0.18': {} - '@withstudiocms/auth-kit@0.1.0-beta.5(ec61b6689f2a44f9b75360cb3fbccfda)': + '@withstudiocms/auth-kit@https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/auth-kit@05baab6b8bb28c994f9aaa1c4f1e40af7c5cc0df(c4a97722045c625718e5b56c61d9382d)': dependencies: '@oslojs/binary': 1.0.0 '@oslojs/crypto': 1.0.1 '@oslojs/encoding': 1.1.0 - '@withstudiocms/effect': 0.1.0-beta.6(ec61b6689f2a44f9b75360cb3fbccfda) + '@withstudiocms/effect': https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/effect@05baab6b8bb28c994f9aaa1c4f1e40af7c5cc0df(c4a97722045c625718e5b56c61d9382d) astro: 5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1) transitivePeerDependencies: - - '@astrojs/db' - '@effect/cli' - '@effect/platform' - '@effect/platform-node' - - '@libsql/client' - - drizzle-orm - effect '@withstudiocms/cli-kit@0.1.0': @@ -7093,36 +7341,46 @@ snapshots: commander: 13.1.0 figlet: 1.9.3 is-unicode-supported: 2.1.0 - package-manager-detector: 1.5.0 + package-manager-detector: 1.6.0 slice-ansi: 7.1.2 strip-ansi: 7.1.2 tinyexec: 1.0.1 wrap-ansi: 9.0.2 - '@withstudiocms/component-registry@0.1.0-beta.6(ec61b6689f2a44f9b75360cb3fbccfda)': + '@withstudiocms/component-registry@https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/component-registry@05baab6(c4a97722045c625718e5b56c61d9382d)': dependencies: - '@withstudiocms/effect': 0.1.0-beta.6(ec61b6689f2a44f9b75360cb3fbccfda) + '@withstudiocms/effect': https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/effect@05baab6b8bb28c994f9aaa1c4f1e40af7c5cc0df(c4a97722045c625718e5b56c61d9382d) astro: 5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1) astro-integration-kit: 0.19.1(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1)) ts-morph: 27.0.2 ultrahtml: 1.6.0 transitivePeerDependencies: - - '@astrojs/db' - '@effect/cli' - '@effect/platform' - '@effect/platform-node' - - '@libsql/client' - - drizzle-orm - effect - '@withstudiocms/config-utils@0.1.0-beta.4(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1))': + '@withstudiocms/component-registry@https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/component-registry@05baab6b8bb28c994f9aaa1c4f1e40af7c5cc0df(c4a97722045c625718e5b56c61d9382d)': + dependencies: + '@withstudiocms/effect': https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/effect@05baab6b8bb28c994f9aaa1c4f1e40af7c5cc0df(c4a97722045c625718e5b56c61d9382d) + astro: 5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1) + astro-integration-kit: 0.19.1(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1)) + ts-morph: 27.0.2 + ultrahtml: 1.6.0 + transitivePeerDependencies: + - '@effect/cli' + - '@effect/platform' + - '@effect/platform-node' + - effect + + '@withstudiocms/config-utils@https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/config-utils@05baab6b8bb28c994f9aaa1c4f1e40af7c5cc0df(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1))': dependencies: astro: 5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1) astro-integration-kit: 0.19.1(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1)) deepmerge-ts: 7.1.5 esbuild: 0.25.10 - '@withstudiocms/effect@0.1.0-beta.6(ec61b6689f2a44f9b75360cb3fbccfda)': + '@withstudiocms/effect@https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/effect@05baab6b8bb28c994f9aaa1c4f1e40af7c5cc0df(c4a97722045c625718e5b56c61d9382d)': dependencies: '@clack/prompts': 0.11.0 '@effect/cli': 0.69.2(@effect/platform@0.90.10(effect@3.17.14))(@effect/printer-ansi@0.45.0(@effect/typeclass@0.36.0(effect@3.17.14))(effect@3.17.14))(@effect/printer@0.45.0(@effect/typeclass@0.36.0(effect@3.17.14))(effect@3.17.14))(effect@3.17.14) @@ -7132,14 +7390,10 @@ snapshots: deepmerge-ts: 7.1.5 effect: 3.17.14 micromatch: 4.0.8 - nodemailer: 7.0.10 + nodemailer: 7.0.11 socks: 2.8.7 - optionalDependencies: - '@astrojs/db': 0.18.0 - '@libsql/client': 0.15.15 - drizzle-orm: 0.42.0(@libsql/client@0.15.15) - '@withstudiocms/internal_helpers@0.1.0-beta.3(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1))': + '@withstudiocms/internal_helpers@https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/internal_helpers@05baab6b8bb28c994f9aaa1c4f1e40af7c5cc0df(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1))': dependencies: astro: 5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1) astro-integration-kit: 0.19.1(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1)) @@ -7149,7 +7403,39 @@ snapshots: transitivePeerDependencies: - supports-color - '@withstudiocms/template-lang@0.1.0-beta.1': {} + '@withstudiocms/kysely@https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/kysely@05baab6(@libsql/client@0.15.15)(effect@3.17.14)(mysql2@3.15.3)(pg@8.16.3)': + dependencies: + '@libsql/client': 0.15.15 + '@libsql/kysely-libsql': 0.4.1(kysely@0.28.8) + effect: 3.17.14 + kysely: 0.28.8 + mysql2: 3.15.3 + pg: 8.16.3 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + + '@withstudiocms/kysely@https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/kysely@05baab6b8bb28c994f9aaa1c4f1e40af7c5cc0df(@libsql/client@0.15.15)(effect@3.17.14)(mysql2@3.15.3)(pg@8.16.3)': + dependencies: + '@libsql/client': 0.15.15 + '@libsql/kysely-libsql': 0.4.1(kysely@0.28.8) + effect: 3.17.14 + kysely: 0.28.8 + mysql2: 3.15.3 + pg: 8.16.3 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + + '@withstudiocms/sdk@https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/sdk@05baab6b8bb28c994f9aaa1c4f1e40af7c5cc0df(@withstudiocms/effect@https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/effect@05baab6b8bb28c994f9aaa1c4f1e40af7c5cc0df(c4a97722045c625718e5b56c61d9382d))(@withstudiocms/kysely@https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/kysely@05baab6(@libsql/client@0.15.15)(effect@3.17.14)(mysql2@3.15.3)(pg@8.16.3))': + dependencies: + '@withstudiocms/effect': https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/effect@05baab6b8bb28c994f9aaa1c4f1e40af7c5cc0df(c4a97722045c625718e5b56c61d9382d) + '@withstudiocms/kysely': https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/kysely@05baab6(@libsql/client@0.15.15)(effect@3.17.14)(mysql2@3.15.3)(pg@8.16.3) + diff: 8.0.2 + diff2html: 3.4.52 + zod: 3.25.76 + + '@withstudiocms/template-lang@https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/template-lang@05baab6b8bb28c994f9aaa1c4f1e40af7c5cc0df': {} abab@2.0.6: optional: true @@ -7424,6 +7710,8 @@ snapshots: aws-sign2@0.7.0: optional: true + aws-ssl-profiles@1.1.2: {} + aws4@1.13.2: optional: true @@ -7730,6 +8018,8 @@ snapshots: delegates@1.0.0: optional: true + denque@2.1.0: {} + depd@2.0.0: {} dequal@2.0.3: {} @@ -7800,9 +8090,12 @@ snapshots: dotenv@17.2.3: {} - drizzle-orm@0.42.0(@libsql/client@0.15.15): + drizzle-orm@0.42.0(@libsql/client@0.15.15)(kysely@0.28.8)(mysql2@3.15.3)(pg@8.16.3): optionalDependencies: '@libsql/client': 0.15.15 + kysely: 0.28.8 + mysql2: 3.15.3 + pg: 8.16.3 dset@3.1.4: {} @@ -8194,6 +8487,10 @@ snapshots: wide-align: 1.1.5 optional: true + generate-function@2.3.1: + dependencies: + is-property: 1.0.2 + gensync@1.0.0-beta.2: {} get-caller-file@2.0.5: {} @@ -8221,7 +8518,7 @@ snapshots: path-is-absolute: 1.0.1 optional: true - grapesjs@0.22.13: + grapesjs@0.22.14: dependencies: '@types/backbone': 1.4.15 backbone: 1.4.1 @@ -8526,6 +8823,10 @@ snapshots: dependencies: safer-buffer: 2.1.2 + iconv-lite@0.7.0: + dependencies: + safer-buffer: 2.1.2 + import-meta-resolve@4.2.0: {} inflight@1.0.6: @@ -8588,6 +8889,8 @@ snapshots: is-plain-object@5.0.0: {} + is-property@1.0.2: {} + is-typedarray@1.0.0: optional: true @@ -8606,7 +8909,7 @@ snapshots: jiti@2.6.0: {} - jose@6.1.0: {} + jose@6.1.3: {} js-base64@3.7.8: {} @@ -8709,12 +9012,27 @@ snapshots: zod: 3.25.76 zod-validation-error: 3.5.3(zod@3.25.76) + kysely@0.28.8: {} + levn@0.3.0: dependencies: prelude-ls: 1.1.2 type-check: 0.3.2 optional: true + libsql@0.3.19: + dependencies: + '@neon-rs/load': 0.0.4 + detect-libc: 2.0.2 + optionalDependencies: + '@libsql/darwin-arm64': 0.3.19 + '@libsql/darwin-x64': 0.3.19 + '@libsql/linux-arm64-gnu': 0.3.19 + '@libsql/linux-arm64-musl': 0.3.19 + '@libsql/linux-x64-gnu': 0.3.19 + '@libsql/linux-x64-musl': 0.3.19 + '@libsql/win32-x64-msvc': 0.3.19 + libsql@0.5.22: dependencies: '@neon-rs/load': 0.0.4 @@ -8745,6 +9063,8 @@ snapshots: lodash@4.17.21: {} + long@5.3.2: {} + longest-streak@3.1.0: {} lowlight@3.3.0: @@ -8759,6 +9079,10 @@ snapshots: dependencies: yallist: 3.1.1 + lru-cache@7.18.3: {} + + lru.min@1.1.3: {} + magic-string@0.30.19: dependencies: '@jridgewell/sourcemap-codec': 1.5.5 @@ -9327,6 +9651,22 @@ snapshots: multipasta@0.2.7: {} + mysql2@3.15.3: + dependencies: + aws-ssl-profiles: 1.1.2 + denque: 2.1.0 + generate-function: 2.3.1 + iconv-lite: 0.7.0 + long: 5.3.2 + lru.min: 1.1.3 + named-placeholders: 1.1.3 + seq-queue: 0.0.5 + sqlstring: 2.3.3 + + named-placeholders@1.1.3: + dependencies: + lru-cache: 7.18.3 + nan@2.23.0: optional: true @@ -9334,7 +9674,7 @@ snapshots: nanoid@5.1.6: {} - nanostores@1.0.1: {} + nanostores@1.1.0: {} napi-postinstall@0.3.3: {} @@ -9369,7 +9709,7 @@ snapshots: node-releases@2.0.21: {} - nodemailer@7.0.10: {} + nodemailer@7.0.11: {} nopt@1.0.10: dependencies: @@ -9496,7 +9836,7 @@ snapshots: package-manager-detector@1.3.0: {} - package-manager-detector@1.5.0: {} + package-manager-detector@1.6.0: {} pagefind@1.4.0: optionalDependencies: @@ -9560,6 +9900,43 @@ snapshots: performance-now@2.1.0: optional: true + pg-cloudflare@1.2.7: + optional: true + + pg-connection-string@2.9.1: {} + + pg-int8@1.0.1: {} + + pg-pool@3.10.1(pg@8.16.3): + dependencies: + pg: 8.16.3 + + pg-protocol@1.10.3: {} + + pg-types@2.2.0: + dependencies: + pg-int8: 1.0.1 + postgres-array: 2.0.0 + postgres-bytea: 1.0.0 + postgres-date: 1.0.7 + postgres-interval: 1.2.0 + + pg@8.16.3: + dependencies: + pg-connection-string: 2.9.1 + pg-pool: 3.10.1(pg@8.16.3) + pg-protocol: 1.10.3 + pg-types: 2.2.0 + pgpass: 1.0.5 + optionalDependencies: + pg-cloudflare: 1.2.7 + + pgpass@1.0.5: + dependencies: + split2: 4.2.0 + + piccolore@0.1.3: {} + picocolors@1.1.1: {} picomatch@2.3.1: {} @@ -9585,6 +9962,16 @@ snapshots: picocolors: 1.1.1 source-map-js: 1.2.1 + postgres-array@2.0.0: {} + + postgres-bytea@1.0.0: {} + + postgres-date@1.0.7: {} + + postgres-interval@1.2.0: + dependencies: + xtend: 4.0.2 + preact@10.27.2: {} prelude-ls@1.1.2: @@ -9991,6 +10378,8 @@ snapshots: transitivePeerDependencies: - supports-color + seq-queue@0.0.5: {} + server-destroy@1.0.1: {} set-blocking@2.0.0: @@ -10123,6 +10512,10 @@ snapshots: space-separated-tokens@2.0.2: {} + split2@4.2.0: {} + + sqlstring@2.3.3: {} + sshpk@1.18.0: dependencies: asn1: 0.2.6 @@ -10214,56 +10607,57 @@ snapshots: strnum@2.1.1: {} - studiocms@0.1.0-beta.30(86351946ee3baaddb2fc05a33555950b): + studiocms@https://pkg.pr.new/withstudiocms/studiocms@05baab6(8ed8ce9f8a8227c0c743f0f77e40a609): dependencies: - '@astrojs/db': 0.18.0 '@iconify-json/circle-flags': 1.2.10 '@iconify-json/flat-color-icons': 1.2.3 - '@iconify-json/simple-icons': 1.2.57 + '@iconify-json/simple-icons': 1.2.61 '@inox-tools/runtime-logger': 0.7.0(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1)) - '@libsql/client': 0.15.15 - '@nanostores/i18n': 1.2.2(nanostores@1.0.1) - '@nanostores/persistent': 1.2.0(nanostores@1.0.1) + '@nanostores/i18n': 1.2.2(nanostores@1.1.0) + '@nanostores/persistent': 1.2.0(nanostores@1.1.0) '@studiocms/ui': 1.0.0-beta.4(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1))(vite@6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1)) - '@withstudiocms/auth-kit': 0.1.0-beta.5(ec61b6689f2a44f9b75360cb3fbccfda) + '@withstudiocms/auth-kit': https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/auth-kit@05baab6b8bb28c994f9aaa1c4f1e40af7c5cc0df(c4a97722045c625718e5b56c61d9382d) '@withstudiocms/cli-kit': 0.1.0 - '@withstudiocms/component-registry': 0.1.0-beta.6(ec61b6689f2a44f9b75360cb3fbccfda) - '@withstudiocms/config-utils': 0.1.0-beta.4(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1)) - '@withstudiocms/effect': 0.1.0-beta.6(ec61b6689f2a44f9b75360cb3fbccfda) - '@withstudiocms/internal_helpers': 0.1.0-beta.3(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1)) - '@withstudiocms/template-lang': 0.1.0-beta.1 + '@withstudiocms/component-registry': https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/component-registry@05baab6b8bb28c994f9aaa1c4f1e40af7c5cc0df(c4a97722045c625718e5b56c61d9382d) + '@withstudiocms/config-utils': https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/config-utils@05baab6b8bb28c994f9aaa1c4f1e40af7c5cc0df(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1)) + '@withstudiocms/effect': https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/effect@05baab6b8bb28c994f9aaa1c4f1e40af7c5cc0df(c4a97722045c625718e5b56c61d9382d) + '@withstudiocms/internal_helpers': https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/internal_helpers@05baab6b8bb28c994f9aaa1c4f1e40af7c5cc0df(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1)) + '@withstudiocms/kysely': https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/kysely@05baab6b8bb28c994f9aaa1c4f1e40af7c5cc0df(@libsql/client@0.15.15)(effect@3.17.14)(mysql2@3.15.3)(pg@8.16.3) + '@withstudiocms/sdk': https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/sdk@05baab6b8bb28c994f9aaa1c4f1e40af7c5cc0df(@withstudiocms/effect@https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/effect@05baab6b8bb28c994f9aaa1c4f1e40af7c5cc0df(c4a97722045c625718e5b56c61d9382d))(@withstudiocms/kysely@https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/kysely@05baab6(@libsql/client@0.15.15)(effect@3.17.14)(mysql2@3.15.3)(pg@8.16.3)) + '@withstudiocms/template-lang': https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/template-lang@05baab6b8bb28c994f9aaa1c4f1e40af7c5cc0df ace-builds: 1.43.4 astro: 5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1) astro-integration-kit: 0.19.1(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1)) boxen: 8.0.1 chalk: 5.6.2 diff: 8.0.2 - diff2html: 3.4.52 dompurify: 3.3.0 dotenv: 17.2.3 - drizzle-orm: 0.42.0(@libsql/client@0.15.15) effect: 3.17.14 fuse.js: 7.1.0 - jose: 6.1.0 + jose: 6.1.3 magicast: 0.5.1 mdast-util-to-markdown: 2.1.2 micromark: 4.0.2 micromark-extension-gfm: 3.0.0 mrmime: 2.0.1 - nanostores: 1.0.1 - package-manager-detector: 1.5.0 + nanostores: 1.1.0 + package-manager-detector: 1.6.0 semver: 7.7.3 three: 0.170.0 tinyglobby: 0.2.15 ultrahtml: 1.6.0 vite: 6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1) - optionalDependencies: - '@studiocms/web-vitals': 4.5.3(@astrojs/db@0.18.0) transitivePeerDependencies: - '@effect/cli' - '@effect/platform' - '@effect/platform-node' + - '@libsql/client' + - bufferutil + - mysql2 + - pg - supports-color + - utf-8-validate style-to-js@1.1.17: dependencies: @@ -10784,6 +11178,8 @@ snapshots: xmlchars@2.2.0: optional: true + xtend@4.0.2: {} + xxhash-wasm@1.1.0: {} y18n@5.0.8: {} diff --git a/src/content/docs/en/config-reference/index.mdx b/src/content/docs/en/config-reference/index.mdx index d1bdbe48..6abb386a 100644 --- a/src/content/docs/en/config-reference/index.mdx +++ b/src/content/docs/en/config-reference/index.mdx @@ -19,6 +19,7 @@ import { defineStudioCMSConfig } from 'studiocms/config'; // Default Values shown export default defineStudioCMSConfig({ dbStartPage: true, + db: {}, verbose: false, logLevel: 'Info', plugins: [], @@ -45,6 +46,25 @@ export default defineStudioCMSConfig({ }) ``` +## `db` + +`db` is an object that is used to configure the database dialect. + +- **Type:** `DBConfigSchema` +- **Default:** `{}` + +### Usage + +```ts twoslash {2-4} title="studiocms.config.mjs" +import { defineStudioCMSConfig } from 'studiocms/config'; +// ---cut--- +export default defineStudioCMSConfig({ + db: { + dialect: 'libsql', // 'libsql' | 'postgresql' | 'mysql' + }, +}) +``` + ## `verbose` `verbose` is a boolean that is used to enable or disable verbose logging. diff --git a/src/content/docs/en/guides/contributing/translations.mdx b/src/content/docs/en/guides/contributing/translations.mdx index ed18e266..99438be5 100644 --- a/src/content/docs/en/guides/contributing/translations.mdx +++ b/src/content/docs/en/guides/contributing/translations.mdx @@ -4,6 +4,9 @@ title: Translations description: Learn how to contribute translations to StudioCMS sidebar: order: 2 + badge: + text: Updated + variant: success --- import ReadMore from '~/components/ReadMore.astro'; @@ -29,7 +32,7 @@ Current translation status: Visit [our i18n dashboard](https://i18n.studiocms.dev) to help translate the StudioCMS packages into your language. If your language is not listed, you can add it within the dashboard. -If you would prefer to contribute translations directly to the repository, the translations are stored in the [`packages/studiocms/src/lib/i18n/translations`](https://github.com/withstudiocms/studiocms/tree/main/packages/studiocms/src/lib/i18n/translations/) directory. You can find the English translations in the [`en.json`](https://github.com/withstudiocms/studiocms/blob/main/packages/studiocms/src/lib/i18n/translations/en.json) file. +If you would prefer to contribute translations directly to the repository, the translations are stored in the [`packages/studiocms/src/virtuals/i18n/translations`](https://github.com/withstudiocms/studiocms/tree/main/packages/studiocms/src/virtuals/i18n/translations/) directory. You can find the English translations in the [`en.json`](https://github.com/withstudiocms/studiocms/blob/main/packages/studiocms/src/virtuals/i18n/translations/en.json) file. No matter where you translate (Crowdin or GitHub), the information will automatically sync and be available in the next release. @@ -37,8 +40,6 @@ No matter where you translate (Crowdin or GitHub), the information will automati All StudioCMS packages use [Crowdin](https://crowdin.com/) for managing translations on top of GitHub. If you are new to Crowdin, you can find the [For Translators guide](https://support.crowdin.com/for-translators/) on their website. -Once the translations have been added, they will be added to the [StudioCMS i18n configuration](https://github.com/withstudiocms/studiocms/blob/main/packages/studiocms/src/lib/i18n/index.ts#L8) and will be available in the next release. - ## Documentation Translations StudioCMS is actively working on translating their docs into multiple languages. diff --git a/src/content/docs/en/how-it-works/cli.mdx b/src/content/docs/en/how-it-works/cli.mdx index 6f9da24a..b3b0369e 100644 --- a/src/content/docs/en/how-it-works/cli.mdx +++ b/src/content/docs/en/how-it-works/cli.mdx @@ -3,7 +3,10 @@ i18nReady: true title: "The CLI" description: "Learn about the StudioCMS CLIs and how to use them." sidebar: - order: 2 + order: 2 + badge: + text: Updated + variant: success tableOfContents: minHeadingLevel: 2 maxHeadingLevel: 4 @@ -33,12 +36,13 @@ Options: -V, --version Output the current version of the CLI Toolkit. -h, --help display help for command -Commands: - add Add StudioCMS plugin(s) to your project - crypto Crypto Utilities for Security - get-turso Install the Turso CLI - init Initialize the StudioCMS project after new installation. - users Utilities for Tweaking Users in StudioCMS +COMMANDS + - add Add StudioCMS plugin(s) to your project + - crypto Crypto Utilities for StudioCMS Security + - get-turso Install the Turso CLI + - init Initialize the StudioCMS project after new installation. + - users Utilities for Tweaking Users in StudioCMS + - migrate Manage database migrations for StudioCMS. ``` ### Example Usage @@ -145,13 +149,11 @@ The init command provides an interactive setup experience that helps you: 1. Set up your environment file (.env) with options to: - Use an example `.env` template - Use the interactive `.env` builder which can: - - Set up a new Turso database (if not on Windows) + - Set up a database connection (libSQL, MySQL, PostgreSQL) - Configure OAuth providers (GitHub, Discord, Google, Auth0) - Set encryption keys and other required variables - Skip environment file creation -2. The command includes automatic Turso CLI installation and authentication if needed when setting up a database. - For a full list of environment variables, see the [Environment Variables documentation][environment-variables]. #### `users` @@ -165,6 +167,21 @@ Options: -h, --help display help for command ``` +#### `migrate` + +```log +usage: studiocms migrate [options] + +Manage database migrations for StudioCMS. + +Options: + -h, --help display help for command + --debug Enable debug mode + -r, --rollback Rollback the last migration + -l, --latest Migrate to the latest version + --status Show the current migration status +``` + ## `create-studiocms` ### Full CLI Options and commands diff --git a/src/content/docs/en/how-it-works/index.mdx b/src/content/docs/en/how-it-works/index.mdx index 4f95d64d..f60291bf 100644 --- a/src/content/docs/en/how-it-works/index.mdx +++ b/src/content/docs/en/how-it-works/index.mdx @@ -3,16 +3,19 @@ i18nReady: true title: "The Integration" description: "Learn how StudioCMS helps you manage and deliver your content by exploring a comprehensive breakdown of it's fundamental components." sidebar: - order: 1 + order: 1 + badge: + text: Updated + variant: success --- # Introduction -StudioCMS is a powerful CMS built for Astro that allows you to manage and serve your content using [Astro DB](https://docs.astro.build/en/guides/astro-db/). It's designed to be easy-to-use and flexible enough to handle any type of content. +StudioCMS is a powerful CMS built for Astro that allows you to manage and serve your content. It's designed to be easy-to-use and flexible enough to handle any type of content. Extending StudioCMS is easy too! You can create your own plugins to add new features to StudioCMS. -The StudioCMS integration is the basis for the entire StudioCMS ecosystem. It provides a headless CMS solution for Astro projects, allowing you to manage and serve your content using Astro DB. The following is a breakdown of the StudioCMS integration and its components. +The StudioCMS integration is the basis for the entire StudioCMS ecosystem. It provides a headless CMS solution for Astro projects. The following is a breakdown of the StudioCMS integration and its components. ## Virtual Modules diff --git a/src/content/docs/en/how-it-works/restapi.mdx b/src/content/docs/en/how-it-works/restapi.mdx index a8f1a0ed..232e2d67 100644 --- a/src/content/docs/en/how-it-works/restapi.mdx +++ b/src/content/docs/en/how-it-works/restapi.mdx @@ -8,7 +8,7 @@ sidebar: # Introduction -The StudioCMS REST API is a powerful tool that allows you to interact with your StudioCMS content programmatically. It provides a simple and flexible way to manage and serve your content using Astro DB. +The StudioCMS REST API is a powerful tool that allows you to interact with your StudioCMS content programmatically. It provides a simple and flexible way to manage and serve your content. The StudioCMS REST API is powered by Astro Endpoints and offers a RESTful interface for interacting with your StudioCMS content. Below is a breakdown of the StudioCMS REST API and its components. diff --git a/src/content/docs/en/how-it-works/sdk.mdx b/src/content/docs/en/how-it-works/sdk.mdx index 54cbacb4..6b73a568 100644 --- a/src/content/docs/en/how-it-works/sdk.mdx +++ b/src/content/docs/en/how-it-works/sdk.mdx @@ -3,12 +3,15 @@ i18nReady: true title: "The SDK" description: "Learn about the StudioCMS SDK and how to use it." sidebar: - order: 3 + order: 3 + badge: + text: Updated + variant: success --- import ReadMore from '~/components/ReadMore.astro'; -The StudioCMS SDK is a powerful tool that allows you to interact with StudioCMS programmatically. It provides a set of functions and utilities that allow you to manage and serve your content using Astro DB. It also provides the backbone for the StudioCMS Dashboard, and is built with [Effect](https://effect.website). +The StudioCMS SDK is a powerful tool that allows you to interact with StudioCMS programmatically. It provides a set of functions and utilities that allow you to manage and serve your content using our own in-house [Kysely](https://kysely.dev/) database client. It also provides the backbone for the StudioCMS Dashboard, and is built with [Effect](https://effect.website). ## Basic Usage @@ -47,17 +50,22 @@ The following is a list of the Primary utils provided by the StudioCMS SDK for i import { SDKCoreJs } from 'studiocms:sdk'; const { - db, dbService, + cache, + AUTH, CLEAR, + CONFIG, DELETE, - INIT, - AUTH, - REST_API, + diffTracking, GET, + INIT, + MIDDLEWARES, + notificationSettings, + PLUGINS, POST, + resetTokenBucket, + REST_API, UPDATE, - PLUGINS, - MIDDLEWARES, + UTIL, } = SDKCoreJs; ``` \ No newline at end of file diff --git a/src/content/docs/en/plugins/extended.mdx b/src/content/docs/en/plugins/extended.mdx index 2c04e2e7..6e2050ff 100644 --- a/src/content/docs/en/plugins/extended.mdx +++ b/src/content/docs/en/plugins/extended.mdx @@ -85,12 +85,12 @@ export function studioCMSPageInjector(options: Options) { return definePlugin({ identifier: 'my-plugin', name: 'My Plugin', - studiocmsMinimumVersion: '0.1.0-beta.18', + studiocmsMinimumVersion: '0.1.0-beta.31', hooks: { - 'studiocms:astro:config': ({ addIntegrations }) => { + 'studiocms:astro-config': ({ addIntegrations }) => { addIntegrations(myIntegration(options)); // Optional, but recommended }, - 'studiocms:config:setup': ({ setDashboard, setFrontend, setRendering }) => { + 'studiocms:dashboard': ({ setDashboard }) => { setDashboard({ translations: { en: { @@ -129,20 +129,23 @@ export function studioCMSPageInjector(options: Options) { } ], }); + }, + 'studiocms:frontend': ({ setFrontend }) => { setFrontend({ - // Define the frontend navigation links for the plugin (optional) + // Define the frontend navigation links for the plugin // This is useful if you are using the built in StudioCMS navigation helpers in your layout, // such as when using the `@studiocms/blog` Plugin. - frontendNavigationLinks: [{ label: 'Title here', href: options?.route || 'my-plugin' }], + frontendNavigationLinks: [{ label: 'My Plugin', href: options?.route || 'my-plugin' }], }); - + }, + 'studiocms:rendering': ({ setRendering }) => { setRendering({ // When creating pageTypes, you can also define a `pageContentComponent` if your plugin requires a custom content editor. // pageTypes: [{ identifier: 'my-plugin', label: 'Blog Post (My Plugin)', pageContentComponent: resolve('./components/MyContentEditor.astro') }], // In this example we are okay using the default content editor (markdown). pageTypes: [{ identifier: 'my-plugin', label: 'Blog Post (My Plugin)' }], - }) + }); } } }); diff --git a/src/content/docs/en/plugins/index.mdx b/src/content/docs/en/plugins/index.mdx index ef99726d..10b60fa4 100644 --- a/src/content/docs/en/plugins/index.mdx +++ b/src/content/docs/en/plugins/index.mdx @@ -3,9 +3,13 @@ i18nReady: true title: The Basics description: Learn about the StudioCMS plugins and how they work. sidebar: - order: 1 + order: 1 + badge: + text: Updated + variant: success --- +import { Badge } from '@astrojs/starlight/components'; import ReadMore from '~/components/ReadMore.astro' # Introduction @@ -16,7 +20,7 @@ StudioCMS plugins are a powerful tool that allows you to extend the functionalit StudioCMS plugins are similar to Astro Integrations, but they have extra information attached to the function object. This information is used by StudioCMS to determine how the plugin should be loaded and used. StudioCMS plugins are used to extend the functionality of StudioCMS by adding new features or modifying existing ones. -### The StudioCMS Plugin Type +### The StudioCMS Plugin Type ```ts interface StudioCMSPlugin { @@ -28,58 +32,30 @@ interface StudioCMSPlugin { logger: AstroIntegrationLogger; addIntegrations: (args_0: AstroIntegration | AstroIntegration[]) => void; }) => void | Promise; - 'studiocms:config:setup': (params: { + 'studiocms:auth': (params: { logger: AstroIntegrationLogger; - setSitemap: (params: { - triggerSitemap?: boolean | undefined; - sitemaps?: { - pluginName: string; - sitemapXMLEndpointPath: string | URL; - }[] | undefined; - }) => void; - setDashboard: (params: { - dashboardGridItems?: GridItemInput[] | undefined; - dashboardPages?: { - user?: (...)[] | undefined; - admin?: (...)[] | undefined; - } | undefined; - settingsPage?: { - fields: (...)[]; - endpoint: string; - } | undefined; - }) => void; - setFrontend: (params: { - frontendNavigationLinks?: { - label: string; - href: string; - }[] | undefined; - }) => void; - setRendering: (params: { - pageTypes?: { - label: string; - identifier: string; - description?: string | undefined; - fields?: (...)[] | undefined; - pageContentComponent?: string | undefined; - rendererComponent?: string | undefined; - apiEndpoint?: string | undefined; - }[] | undefined; - }) => void; - setImageService: (params: { - imageService?: { - identifier: string; - servicePath: string | URL; - } | undefined; - }) => void; - setAuthService: (params: { - oAuthProvider?: { - name: string; - formattedName: string; - svg: string; - endpointPath: string; - requiredEnvVariables?: string[] | undefined; - } | undefined; - }) => void; + setAuthService: (args_0: { ...; }) => void; + }) => void | Promise; + 'studiocms:dashboard': (params: { + logger: AstroIntegrationLogger; + setDashboard: (args_0: { ...; }) => void; + augmentDashboard: (args_0: { ...; }) => void; + }) => void | Promise; + 'studiocms:frontend': (params: { + logger: AstroIntegrationLogger; + setFrontend: (args_0: { ...; }) => void; + }) => void | Promise; + 'studiocms:rendering': (params: { + logger: AstroIntegrationLogger; + setRendering: (args_0: { ...; }) => void; + }) => void | Promise; + 'studiocms:image-service': (params: { + logger: AstroIntegrationLogger; + setImageService: (args_0: { ...; }) => void; + }) => void | Promise; + 'studiocms:sitemap': (params: { + logger: AstroIntegrationLogger; + setSitemap: (args_0: { ...; }) => void; }) => void | Promise; } } @@ -118,16 +94,16 @@ const myIntegration = (options: Options): AstroIntegration => ({ export const myPlugin = (options: Options) => definePlugin({ identifier: 'my-plugin', name: 'My Plugin', - studiocmsMinimumVersion: '0.1.0-beta.18', + studiocmsMinimumVersion: '0.1.0-beta.31', hooks: { - 'studiocms:astro:config': ({ addIntegrations }) => { + 'studiocms:astro-config': ({ addIntegrations }) => { addIntegrations(myIntegration(options)) // Optional, but recommended } } }); ``` -In this example, we define a StudioCMS plugin called `My Plugin` that requires StudioCMS version `0.1.0-beta.18` or higher. The plugin also provides an Astro Integration that logs a message to the console when the `astro:config:setup` hook is called. +In this example, we define a StudioCMS plugin called `My Plugin` that requires StudioCMS version `0.1.0-beta.31` or higher. The plugin also provides an Astro Integration that logs a message to the console when the `astro:config:setup` hook is called. For more information on building plugins checkout the [Making Plugins Useful][extended-plugins] Guide diff --git a/src/content/docs/en/plugins/renderers.mdx b/src/content/docs/en/plugins/renderers.mdx index 0a0db85e..ec35d1ec 100644 --- a/src/content/docs/en/plugins/renderers.mdx +++ b/src/content/docs/en/plugins/renderers.mdx @@ -5,7 +5,7 @@ description: Learn about StudioCMS renderer plugins and how to create them. sidebar: order: 3 badge: - text: NEW + text: Updated variant: success --- @@ -32,9 +32,9 @@ const { resolve } = createResolver(import.meta.url); export const myPlugin = () => definePlugin({ identifier: 'my-plugin', name: 'My Plugin', - studiocmsMinimumVersion: '0.1.0-beta.28', + studiocmsMinimumVersion: '0.1.0-beta.31', hooks: { - 'studiocms:config:setup': ({ setRendering }) => { + 'studiocms:rendering': ({ setRendering }) => { setRendering({ pageTypes: [ { diff --git a/src/content/docs/en/start-here/configuration.mdx b/src/content/docs/en/start-here/configuration.mdx index 183247de..8d75b870 100644 --- a/src/content/docs/en/start-here/configuration.mdx +++ b/src/content/docs/en/start-here/configuration.mdx @@ -3,45 +3,16 @@ i18nReady: true title: "StudioCMS Config" description: "Options for how to define the StudioCMS Config" sidebar: - order: 3 + order: 3 + badge: + text: Updated + variant: success --- import { FileTree, Aside } from '@astrojs/starlight/components'; import ReadMore from '~/components/ReadMore.astro'; -# Available Options - -There are two ways to configure the StudioCMS integration. Below are examples of how to configure based on if you choose to use the `astro.config.mjs` or the dedicated `studiocms.config.mjs` file. - - -This page shows you how and where to define the StudioCMS configuration. For more information on the StudioCMS configuration options, see the [reference page][reference-page]. - - -## Using the `astro.config.mjs` file - -```ts twoslash title="astro.config.mjs" -import db from '@astrojs/db'; -import node from '@astrojs/node'; -import studioCMS from 'studiocms'; -import { defineConfig } from 'astro/config'; - -export default defineConfig({ - site: 'https://demo.studiocms.dev/', - output: 'server', - adapter: node({ mode: "standalone" }), - integrations: [ - db(), - studioCMS({ - dbStartPage: false, - // other configuration options - }), - ], -}); -``` - -## Using the StudioCMS Config file (recommended) - -This file will be automatically picked up and will overwrite any options passed in your `astro.config.*`, if you choose to use this option. Please ensure to move all StudioCMS configuration options into this file instead like below: +The StudioCMS config file is used to configure various aspects of StudioCMS in your Astro project. It allows you to define settings such as database configuration, plugins, component registry, localization, and feature flags. +### Configure StudioCMS Database dialect + +If you are using a database other than `libSQL` you will need to configure the `db` option in your `studiocms.config.mjs` file to specify the correct dialect. + +```ts twoslash title="studiocms.config.mjs" +import { defineStudioCMSConfig } from 'studiocms/config'; +// ---cut--- +export default defineStudioCMSConfig({ + db: { + dialect: 'postgres', // 'libsql' | 'postgres' | 'mysql' + }, +}) +``` + ## Configure StudioCMS rendering StudioCMS requires at least one of the following rendering plugins to be installed and configured within your StudioCMS project: -- `@studiocms/html` - for HTML rendering -- `@studiocms/md` - for Markdown rendering -- `@studiocms/mdx` - for MDX rendering -- `@studiocms/markdoc` - for MarkDoc rendering +- [`@studiocms/html`](/en/package-catalog/studiocms-plugins/studiocms-html/) - for HTML rendering +- [`@studiocms/md`](/en/package-catalog/studiocms-plugins/studiocms-md/) - for Markdown rendering +- [`@studiocms/mdx`](/en/package-catalog/studiocms-plugins/studiocms-mdx/) - for MDX rendering +- [`@studiocms/markdoc`](/en/package-catalog/studiocms-plugins/studiocms-markdoc/) - for MarkDoc rendering +- [`@studiocms/wysiwyg`](/en/package-catalog/studiocms-plugins/studiocms-wysiwyg/) - for WYSIWYG rendering - Or any other community plugin that supports rendering content in StudioCMS. -Any of these plugins can be used to render content in StudioCMS. You can use one or more of these plugins in your project, depending on your needs. They can be installed and configured using the StudioCMS config file or the Astro config file. +Any of these plugins can be used to render content in StudioCMS. You can use one or more of these plugins in your project, depending on your needs. They can be installed and configured using the StudioCMS config file. ```ts twoslash title="studiocms.config.mjs" import { defineStudioCMSConfig } from 'studiocms/config'; @@ -296,15 +346,17 @@ The following paths are examples of the callback URL for each provider: ## Configure your `package.json` scripts -Setup your `package.json` scripts to include the `--remote` flag for build, and optionally for dev. (You can also run the dev command as shown in the ["Running your StudioCMS Project"](#running-your-studiocms-project) section) +Setup your `package.json` scripts to include the following StudioCMS commands for easier use: -```json /--remote/ title="package.json" +```json title="package.json" { "name": "my-studiocms-project", "scripts": { - "dev": "astro dev --remote", - "build": "astro check & astro build --remote", - "astro": "astro" + "dev": "astro dev", + "build": "astro check & astro build", + "astro": "astro", + "migrate": "studiocms migrate", + "studiocms": "studiocms", } } ``` @@ -317,12 +369,8 @@ Thanks to the power of Astro running StudioCMS is as easy as running the dev com To start your Astro project, run the following commands in your terminal: - - - - + + After running the commands, you should see a message indicating that your project is running at `localhost:4321`. When first setting up StudioCMS, you will prompted to finish configuring StudioCMS at `http://localhost:4321/start` @@ -330,10 +378,12 @@ After running the commands, you should see a message indicating that your projec To start your Astro project, run the following command in your terminal: - + After running the command, you should see a message indicating that your project is running at `localhost:4321`. Open your browser and navigate to `http://localhost:4321` to see your Astro project in action. +You can access the StudioCMS dashboard at `http://localhost:4321/dashboard` by default to manage your content and settings. + **Congratulations!** 🥳 You now have StudioCMS installed in your Astro project. ### Adding a frontend to your StudioCMS project @@ -390,7 +440,5 @@ Learn more about the StudioCMS Config options using the [StudioCMS Reference][co [package-catalog]: /en/package-catalog/ [environment-variables]: /en/start-here/environment-variables/ [config-reference]: /en/config-reference/ -[db-url-token]: /en/start-here/environment-variables/#database-url-and-token-for-astrojsdb -[encryption-key]: /en/start-here/environment-variables/#encryption-key-for-studiocmsauth -[auth-config-ref]: /en/config-reference/features/#authconfig +[encryption-key]: /en/start-here/environment-variables/#encryption-key-for-studiocms [self-hosted-libsql]: /en/guides/database/sqld-server/ \ No newline at end of file diff --git a/src/content/docs/en/start-here/why-studioCMS.mdx b/src/content/docs/en/start-here/why-studioCMS.mdx index 21dbdacc..78b69895 100644 --- a/src/content/docs/en/start-here/why-studioCMS.mdx +++ b/src/content/docs/en/start-here/why-studioCMS.mdx @@ -1,9 +1,12 @@ --- i18nReady: true title: Why StudioCMS? -description: StudioCMS is an alternative to traditional CMS platforms. It is a headless CMS that relies on Astro DB and Astro to deliver a seamless content management experience. +description: StudioCMS is an alternative to traditional CMS platforms. It is a headless CMS that relies on Astro to deliver a seamless content management experience. sidebar: order: 4 + badge: + text: Updated + variant: success --- Astro is a content-focused framework. Features like content collections and the new content layer make it extremely easy to manage content of any size or form. @@ -17,7 +20,7 @@ That's why StudioCMS exists: a CMS that is completely focused on Astro and that ## Key Features -- **`@astrojs/db`:** We use Astro DB, meaning that you can choose where and how your data is stored, be it Turso or a local file. +- **Custom Database Solution:** Powered by [Kysely](https://kysely.dev/), StudioCMS works with multiple database dialects including libSQL, MySQL, and PostgreSQL, with the flexibility to add more as needed. - **Custom Markdown Renderer:** Built-in markdown renderer with support for themed callouts and customizable styling to match your needs. From d57459cc1ba34c9b8e65071b068d7e6a15a8a704 Mon Sep 17 00:00:00 2001 From: Adam Matthiesen Date: Mon, 8 Dec 2025 12:58:58 -0800 Subject: [PATCH 02/71] feat: add '@withstudiocms/kysely' to ignored dependencies in Knip config --- knip.config.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/knip.config.ts b/knip.config.ts index 611f0ac4..8907847a 100644 --- a/knip.config.ts +++ b/knip.config.ts @@ -17,6 +17,7 @@ const config: KnipConfig = { 'ultrahtml', 'effect', '@withstudiocms/component-registry', + '@withstudiocms/kysely', '@docsearch/js', 'studiocms:ui', 'studiocms', From 32d4bcd27648b34c69cb53ee4687b1b522d9a41f Mon Sep 17 00:00:00 2001 From: Adam Matthiesen Date: Mon, 8 Dec 2025 13:05:44 -0800 Subject: [PATCH 03/71] feat: update error codes in ec.config and set preferredImageService to 'cloudinary-js' --- ec.config.mjs | 2 +- src/content/docs/en/config-reference/features.mdx | 2 +- src/content/docs/en/config-reference/index.mdx | 3 +++ 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/ec.config.mjs b/ec.config.mjs index 12abac2f..77326220 100644 --- a/ec.config.mjs +++ b/ec.config.mjs @@ -12,7 +12,7 @@ export default defineEcConfig({ ecTwoSlash({ twoslashOptions: { handbookOptions: { - errors: [2353, 2339, 2307, 2379, 2305, 2345], + errors: [2353, 2339, 2307, 2379, 2305, 2345, 7031, 2554, 2375], }, compilerOptions: { moduleResolution: ts.ModuleResolutionKind.Bundler, diff --git a/src/content/docs/en/config-reference/features.mdx b/src/content/docs/en/config-reference/features.mdx index 3f680ca8..09361c7f 100644 --- a/src/content/docs/en/config-reference/features.mdx +++ b/src/content/docs/en/config-reference/features.mdx @@ -330,7 +330,7 @@ import { defineStudioCMSConfig } from 'studiocms/config'; // ---cut--- export default defineStudioCMSConfig({ features: { - preferredImageService: undefined + preferredImageService: 'cloudinary-js' } }) ``` \ No newline at end of file diff --git a/src/content/docs/en/config-reference/index.mdx b/src/content/docs/en/config-reference/index.mdx index 6abb386a..26f15e71 100644 --- a/src/content/docs/en/config-reference/index.mdx +++ b/src/content/docs/en/config-reference/index.mdx @@ -4,6 +4,9 @@ title: StudioCMSOptions description: Reference page for StudioCMSOptions sidebar: order: 1 + badge: + text: Updated + variant: success tableOfContents: minHeadingLevel: 2 maxHeadingLevel: 5 From a1dfd291479e6d80a7a7eeec3b85d61fa14750bf Mon Sep 17 00:00:00 2001 From: Adam Matthiesen Date: Mon, 8 Dec 2025 13:08:57 -0800 Subject: [PATCH 04/71] feat: enable pre-release mode for generating release notes --- scripts/generate-release-notes.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/generate-release-notes.ts b/scripts/generate-release-notes.ts index 0330eb41..669669dd 100644 --- a/scripts/generate-release-notes.ts +++ b/scripts/generate-release-notes.ts @@ -9,7 +9,7 @@ const preBranch: string = 'https://raw.githubusercontent.com/withstudiocms/studiocms/changeset-release/main/packages/studiocms/CHANGELOG.md'; // Allow Switching into a pre-release mode for development of pre-release docs -const pre = false; +const pre = true; const changelogUrl = pre ? preBranch : mainBranch; From d97ce9965ac87e0e3ab1ed4c6f7a7a8d0b2f3347 Mon Sep 17 00:00:00 2001 From: Adam Matthiesen Date: Mon, 8 Dec 2025 13:12:51 -0800 Subject: [PATCH 05/71] feat: update CMS description and tagline, adjust analytics script URL for production --- astro.config.mts | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/astro.config.mts b/astro.config.mts index af7080cc..70761280 100644 --- a/astro.config.mts +++ b/astro.config.mts @@ -70,11 +70,11 @@ export default defineConfig({ ui(), starlight({ title: 'StudioCMS', - description: 'A dedicated CMS for Astro DB. Built from the ground up by the Astro community.', + description: 'A dedicated CMS for Astro. Built from the ground up by the Astro community.', favicon: '/logo-light.svg', lastUpdated: true, credits: true, - tagline: 'A dedicated CMS for Astro DB. Built from the ground up by the Astro community.', + tagline: 'A dedicated CMS for Astro. Built from the ground up by the Astro community.', disable404Route: true, pagefind: false, components: { @@ -111,14 +111,18 @@ export default defineConfig({ baseUrl: 'https://github.com/withstudiocms/docs/tree/main', }, head: [ - { - tag: 'script', - attrs: { - src: 'https://analytics.studiocms.dev/script.js', - 'data-website-id': 'e924da68-f547-4dd2-bd2f-bcdd78cbcdab', - defer: true, - }, - }, + ...(process.env.NODE_ENV === 'production' + ? [ + { + tag: 'script' as const, + attrs: { + src: 'https://analytics.studiocms.cloud/script.js', + 'data-website-id': '2670ef85-9da5-4bc1-bac8-143b6c554c2c', + defer: true, + }, + }, + ] + : []), { tag: 'meta', attrs: { From c44cd9b0ad86004f8d9a43bd66925d2bd46fd550 Mon Sep 17 00:00:00 2001 From: Adam Matthiesen Date: Mon, 8 Dec 2025 13:17:12 -0800 Subject: [PATCH 06/71] feat: add upgrade guide for StudioCMS Beta.31 with new badge --- .../upgrade/version-guides/0-1-0-beta-30.mdx | 3 --- .../upgrade/version-guides/0-1-0-beta-31.mdx | 23 +++++++++++++++++++ 2 files changed, 23 insertions(+), 3 deletions(-) create mode 100644 src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-31.mdx diff --git a/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-30.mdx b/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-30.mdx index 211398cd..df418e12 100644 --- a/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-30.mdx +++ b/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-30.mdx @@ -4,9 +4,6 @@ title: "Upgrade: 0.1.0-beta.30" description: Upgrade StudioCMS to Beta.30 sidebar: label: 0.1.0-beta.30 - badge: - text: NEW - variant: success order: 999985 --- diff --git a/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-31.mdx b/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-31.mdx new file mode 100644 index 00000000..789b3c17 --- /dev/null +++ b/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-31.mdx @@ -0,0 +1,23 @@ +--- +i18nReady: true +title: "Upgrade: 0.1.0-beta.31" +description: Upgrade StudioCMS to Beta.31 +sidebar: + label: 0.1.0-beta.31 + badge: + text: NEW + variant: success + order: 999984 +--- + +import ReadMore from '~/components/ReadMore.astro' +import QuickUpdate from '~/components/QuickUpdate.astro' +import { Aside } from '@astrojs/starlight/components' + + + +## Breaking changes + +## New Features + +## Bug Fixes & Improvements \ No newline at end of file From 40ae6aecfa4ceabd04452d7dad1448bcd74336fd Mon Sep 17 00:00:00 2001 From: Adam Matthiesen Date: Mon, 8 Dec 2025 15:24:11 -0800 Subject: [PATCH 07/71] feat: update features and locale documentation with new security and i18n options; add Kysely migration guide --- .../docs/en/config-reference/features.mdx | 44 +++++++ .../docs/en/config-reference/locale.mdx | 28 ++++- .../en/guides/database/kysley-migration.mdx | 9 ++ .../upgrade/version-guides/0-1-0-beta-31.mdx | 112 +++++++++++++++++- 4 files changed, 189 insertions(+), 4 deletions(-) create mode 100644 src/content/docs/en/guides/database/kysley-migration.mdx diff --git a/src/content/docs/en/config-reference/features.mdx b/src/content/docs/en/config-reference/features.mdx index 09361c7f..244b7369 100644 --- a/src/content/docs/en/config-reference/features.mdx +++ b/src/content/docs/en/config-reference/features.mdx @@ -4,6 +4,9 @@ title: Features description: Reference page for StudioCMSOptions features sidebar: order: 3 + badge: + text: Updated + variant: success tableOfContents: minHeadingLevel: 2 maxHeadingLevel: 5 @@ -215,6 +218,47 @@ export default defineStudioCMSConfig({ }) ``` +### `security` + +`security` Allows customization of the Security Configuration + +#### Usage + +```ts twoslash {4} title="studiocms.config.mjs" +import { defineStudioCMSConfig } from 'studiocms/config'; +// ---cut--- +export default defineStudioCMSConfig({ + features: { + dashboardConfig: { + security: {} + } + } +}) +``` + +#### `hideGeneratorTags` + +`hideGeneratorTags` Allows enabling or disabling of the Generator Meta Tags in the Dashboard HTML + +- **Type:** `boolean` +- **Default:** `false` + +##### Usage + +```ts twoslash {5} title="studiocms.config.mjs" +import { defineStudioCMSConfig } from 'studiocms/config'; +// ---cut--- +export default defineStudioCMSConfig({ + features: { + dashboardConfig: { + security: { + hideGeneratorTags: false + } + } + } +}) +``` + ## `authConfig` `authConfig` Allows customization of the Authentication Configuration diff --git a/src/content/docs/en/config-reference/locale.mdx b/src/content/docs/en/config-reference/locale.mdx index a014e889..e75821db 100644 --- a/src/content/docs/en/config-reference/locale.mdx +++ b/src/content/docs/en/config-reference/locale.mdx @@ -4,6 +4,9 @@ title: Locale description: Reference page for StudioCMSOptions locale sidebar: order: 2 + badge: + text: Updated + variant: success --- import ReadMore from '~/components/ReadMore.astro'; @@ -16,7 +19,8 @@ import { defineStudioCMSConfig } from 'studiocms/config'; export default defineStudioCMSConfig({ locale: { dateLocale: 'en-US', - dateTimeFormat: {} + dateTimeFormat: {}, + i18n: {} }, }); ``` @@ -61,4 +65,24 @@ export default defineStudioCMSConfig({ }, } }) -``` \ No newline at end of file +``` + +## `i18n` + +`i18n` is an object that is used to configure internationalization options. + +- **Type:** `object` +- **Default:** `{}` + +### Usage + +```ts twoslash {3-5} title="studiocms.config.mjs" +import { defineStudioCMSConfig } from 'studiocms/config'; +// ---cut--- +export default defineStudioCMSConfig({ + locale: { + i18n: { + defaultLocale: 'en', + }, + } +}) \ No newline at end of file diff --git a/src/content/docs/en/guides/database/kysley-migration.mdx b/src/content/docs/en/guides/database/kysley-migration.mdx new file mode 100644 index 00000000..771db005 --- /dev/null +++ b/src/content/docs/en/guides/database/kysley-migration.mdx @@ -0,0 +1,9 @@ +--- +i18nReady: true +title: Kysely Migration Guide +description: Migrate your StudioCMS project to use Kysely +--- + +import ReadMore from '~/components/ReadMore.astro' +import { PackageManagers } from 'starlight-package-managers' +import { FileTree, TabItem, Tabs, Steps, Aside } from '@astrojs/starlight/components'; \ No newline at end of file diff --git a/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-31.mdx b/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-31.mdx index 789b3c17..912d6f9b 100644 --- a/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-31.mdx +++ b/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-31.mdx @@ -12,12 +12,120 @@ sidebar: import ReadMore from '~/components/ReadMore.astro' import QuickUpdate from '~/components/QuickUpdate.astro' -import { Aside } from '@astrojs/starlight/components' +import { PackageManagers } from 'starlight-package-managers' +import { FileTree, TabItem, Tabs, Steps, Aside } from '@astrojs/starlight/components'; ## Breaking changes +- Refactored Plugin System. Please see the [Plugin docs](/en/plugins/) for more details. +- Implemented new Kysely based database layer. +- Removed support for config options directly passed to the StudioCMS astro integration, now all config options must be defined in `studiocms.config.mjs` file. Please see the [Config Reference](/en/start-here/configuration/) for more details. ## New Features +- Implemented new [`studiocms migrate`](/en/how-it-works/cli/#migrate) command to handle database migrations. +- Allow disabling Generator meta tags via [`features.dashboard.security.hideGeneratorTags`](/en/config-reference/features/#hidegeneratortags) config option. +- StudioCMS now supports different database dialects via Kysely. +- Introduced new middleware to display system errors on pages with errors instead of crashing the entire site. +- New plugin features: + - Dynamic components and scripts injection to the dashboard via new plugin hooks. + - New db helpers for easier database access within plugins. -## Bug Fixes & Improvements \ No newline at end of file +## Bug Fixes & Improvements +- Updated ghost user image url. +- Refactored page data `urlRoute` generation to resolve correctly. +- Refactored and simplified dashboard layout components. +- Improved StudioCMS config types and JSDoc comments. +- Refactored CLI commands to use new database layer. + +## Migration Steps + +To upgrade your StudioCMS project to version 0.1.0-beta.31, please follow these steps: + + + + +1. **Update your StudioCMS dependencies** to the latest version: + + +2. **If you have custom plugins**, ensure they are updated to be compatible with the new plugin system. Refer to the [Plugin docs](/en/plugins/) for guidance. + +3. **Review your `studiocms.config.mjs` file** to ensure all configuration options are correctly set according to the new schema. Refer to the [Config Reference](/en/start-here/configuration/) for details. + +4. **Setup a new database connection for the new Kysely based database layer.** Update your `.env` file with the necessary database connection details. Keep your previous database intact for migration. + + Refer to the [Database Setup Guide](/en/start-here/getting-started/#prepare-your-database) for more information on configuring your database. + Refer to the [Environment Variables Docs](/en/start-here/environment-variables/) for more information on configuring your environment variables. + +5. **Configure your database dialect in `studiocms.config.mjs` under the `db` option. For example, to use libSQL:** + + ```ts twoslash {3} title="studiocms.config.mjs" + import { defineStudioCMSConfig } from 'studiocms/config'; + // ---cut--- + export default defineStudioCMSConfig({ + db: { + dialect: 'libsql', // or 'postgresql', 'mysql' + }, + }); + ``` + + + +6. **Download the migration tool into the root of your StudioCMS project:** + + + + This tool will read your `studiocms.config.mjs` file to be able to connect to the correct database dialect. + +7. **Running Schema Migrations:** + + Since the database layer has changed, you will need to run migrations to update your database schema to be compatible with the new version. There is two ways to do this: + + + + + Built into the StudioCMS CLI is a new `migrate` command that will run the necessary migrations for you. To use it, run the following command in your project directory: + + + + You will be prompted to select an option to, migrate your database schema to the latest version, rollback to a previous version, or view the current migration status. Select "Migrate to Latest" to update your database schema. + + + + + + + Alternatively, you can use the migration tool you installed in step 6. To do this, continue to the next step, and use the Web UI to run the migrations. + + + + +8. **Run the Migration Tool Web UI:** + + Start the migration tool by running the following command in your project directory: + + + + This will start a local web server. Open your browser and navigate to `http://localhost:4321` to access the migration tool interface. + + This interface will give you options to migrate your database schema, as well as migrating your data from your old database to the new one. + +9. Once the migration is complete, **start your StudioCMS project** as usual: + + + + Your project should now be running with the updated database schema and configuration. + + +## Final Notes + +- Ensure you have backups of your database before performing migrations. +- Test your application thoroughly after the migration to catch any issues early. +- Refer to the [StudioCMS documentation](/en/start-here/getting-started/) for more information on new features and changes. +- If you encounter any issues during the migration process, please reach out on our [Discord community](https://chat.studiocms.dev), or open an issue on our [GitHub repository](https://github.com/withstudiocms/studiocms/issues). \ No newline at end of file From 67d741a89f33d10ad527f7e60f6ed6b6658972a4 Mon Sep 17 00:00:00 2001 From: Adam Matthiesen Date: Mon, 8 Dec 2025 15:25:41 -0800 Subject: [PATCH 08/71] feat: remove Kysely migration guide documentation --- src/content/docs/en/guides/database/kysley-migration.mdx | 9 --------- 1 file changed, 9 deletions(-) delete mode 100644 src/content/docs/en/guides/database/kysley-migration.mdx diff --git a/src/content/docs/en/guides/database/kysley-migration.mdx b/src/content/docs/en/guides/database/kysley-migration.mdx deleted file mode 100644 index 771db005..00000000 --- a/src/content/docs/en/guides/database/kysley-migration.mdx +++ /dev/null @@ -1,9 +0,0 @@ ---- -i18nReady: true -title: Kysely Migration Guide -description: Migrate your StudioCMS project to use Kysely ---- - -import ReadMore from '~/components/ReadMore.astro' -import { PackageManagers } from 'starlight-package-managers' -import { FileTree, TabItem, Tabs, Steps, Aside } from '@astrojs/starlight/components'; \ No newline at end of file From a964a8f895ea46c16a891f16e29441b4486eec66 Mon Sep 17 00:00:00 2001 From: Adam Matthiesen Date: Mon, 8 Dec 2025 15:33:46 -0800 Subject: [PATCH 09/71] feat: hide sidebar entries for upgrade guides from Beta.16 to Beta.24 and update upgrade guide for Beta.31 --- .../en/guides/upgrade/version-guides/0-1-0-beta-16.mdx | 2 +- .../en/guides/upgrade/version-guides/0-1-0-beta-17.mdx | 2 +- .../en/guides/upgrade/version-guides/0-1-0-beta-18.mdx | 2 +- .../en/guides/upgrade/version-guides/0-1-0-beta-19.mdx | 2 +- .../en/guides/upgrade/version-guides/0-1-0-beta-20.mdx | 2 +- .../en/guides/upgrade/version-guides/0-1-0-beta-21.mdx | 2 +- .../en/guides/upgrade/version-guides/0-1-0-beta-22.mdx | 2 +- .../en/guides/upgrade/version-guides/0-1-0-beta-23.mdx | 2 +- .../en/guides/upgrade/version-guides/0-1-0-beta-24.mdx | 2 +- .../en/guides/upgrade/version-guides/0-1-0-beta-31.mdx | 10 ++++------ 10 files changed, 13 insertions(+), 15 deletions(-) diff --git a/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-16.mdx b/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-16.mdx index 24821b59..33f2d2fb 100644 --- a/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-16.mdx +++ b/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-16.mdx @@ -4,7 +4,7 @@ title: "Upgrade: 0.1.0-beta.16" description: Upgrade StudioCMS to Beta.16 sidebar: label: 0.1.0-beta.16 - order: 999999 + hidden: true --- import ReadMore from '~/components/ReadMore.astro' diff --git a/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-17.mdx b/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-17.mdx index d17a8fad..fa9aeaee 100644 --- a/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-17.mdx +++ b/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-17.mdx @@ -4,7 +4,7 @@ title: "Upgrade: 0.1.0-beta.17" description: Upgrade StudioCMS to Beta.17 sidebar: label: 0.1.0-beta.17 - order: 999998 + hidden: true --- import ReadMore from '~/components/ReadMore.astro' diff --git a/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-18.mdx b/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-18.mdx index 7c92c553..6b4dc756 100644 --- a/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-18.mdx +++ b/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-18.mdx @@ -4,7 +4,7 @@ title: "Upgrade: 0.1.0-beta.18" description: Upgrade StudioCMS to Beta.18 sidebar: label: 0.1.0-beta.18 - order: 999997 + hidden: true --- import ReadMore from '~/components/ReadMore.astro' diff --git a/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-19.mdx b/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-19.mdx index 53a4822f..17540a44 100644 --- a/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-19.mdx +++ b/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-19.mdx @@ -4,7 +4,7 @@ title: "Upgrade: 0.1.0-beta.19" description: Upgrade StudioCMS to Beta.19 sidebar: label: 0.1.0-beta.19 - order: 999996 + hidden: true --- import ReadMore from '~/components/ReadMore.astro' diff --git a/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-20.mdx b/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-20.mdx index 47700832..e3c15eb5 100644 --- a/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-20.mdx +++ b/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-20.mdx @@ -4,7 +4,7 @@ title: "Upgrade: 0.1.0-beta.20" description: Upgrade StudioCMS to Beta.20 sidebar: label: 0.1.0-beta.20 - order: 999995 + hidden: true --- import ReadMore from '~/components/ReadMore.astro' diff --git a/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-21.mdx b/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-21.mdx index 2bf8c54f..092b6bd6 100644 --- a/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-21.mdx +++ b/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-21.mdx @@ -4,7 +4,7 @@ title: "Upgrade: 0.1.0-beta.21" description: Upgrade StudioCMS to Beta.21 sidebar: label: 0.1.0-beta.21 - order: 999994 + hidden: true --- import ReadMore from '~/components/ReadMore.astro' diff --git a/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-22.mdx b/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-22.mdx index 0fb7196c..2a3e0a54 100644 --- a/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-22.mdx +++ b/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-22.mdx @@ -4,7 +4,7 @@ title: "Upgrade: 0.1.0-beta.22" description: Upgrade StudioCMS to Beta.22 sidebar: label: 0.1.0-beta.22 - order: 999993 + hidden: true --- import ReadMore from '~/components/ReadMore.astro' diff --git a/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-23.mdx b/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-23.mdx index 2af4df12..d3e60c02 100644 --- a/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-23.mdx +++ b/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-23.mdx @@ -4,7 +4,7 @@ title: "Upgrade: 0.1.0-beta.23" description: Upgrade StudioCMS to Beta.23 sidebar: label: 0.1.0-beta.23 - order: 999992 + hidden: true --- import ReadMore from '~/components/ReadMore.astro' diff --git a/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-24.mdx b/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-24.mdx index fc8218ad..4e9be3f3 100644 --- a/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-24.mdx +++ b/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-24.mdx @@ -4,7 +4,7 @@ title: "Upgrade: 0.1.0-beta.24" description: Upgrade StudioCMS to Beta.24 sidebar: label: 0.1.0-beta.24 - order: 999991 + hidden: true --- import ReadMore from '~/components/ReadMore.astro' diff --git a/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-31.mdx b/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-31.mdx index 912d6f9b..d1b66395 100644 --- a/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-31.mdx +++ b/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-31.mdx @@ -11,11 +11,10 @@ sidebar: --- import ReadMore from '~/components/ReadMore.astro' -import QuickUpdate from '~/components/QuickUpdate.astro' import { PackageManagers } from 'starlight-package-managers' import { FileTree, TabItem, Tabs, Steps, Aside } from '@astrojs/starlight/components'; - +StudioCMS `0.1.0-beta.31` introduces significant changes, including a new Kysely based database layer, a revamped plugin system, and various new features and improvements. This guide will help you upgrade your existing StudioCMS project to the latest version. ## Breaking changes - Refactored Plugin System. Please see the [Plugin docs](/en/plugins/) for more details. @@ -25,7 +24,7 @@ import { FileTree, TabItem, Tabs, Steps, Aside } from '@astrojs/starlight/compon ## New Features - Implemented new [`studiocms migrate`](/en/how-it-works/cli/#migrate) command to handle database migrations. - Allow disabling Generator meta tags via [`features.dashboard.security.hideGeneratorTags`](/en/config-reference/features/#hidegeneratortags) config option. -- StudioCMS now supports different database dialects via Kysely. +- StudioCMS now supports different database dialects via [Kysely](https://kysely.dev/). - Introduced new middleware to display system errors on pages with errors instead of crashing the entire site. - New plugin features: - Dynamic components and scripts injection to the dashboard via new plugin hooks. @@ -40,8 +39,7 @@ import { FileTree, TabItem, Tabs, Steps, Aside } from '@astrojs/starlight/compon ## Migration Steps -To upgrade your StudioCMS project to version 0.1.0-beta.31, please follow these steps: - +To upgrade your StudioCMS project to version `0.1.0-beta.31`, please follow these steps: @@ -118,7 +116,7 @@ To upgrade your StudioCMS project to version 0.1.0-beta.31, please follow these 9. Once the migration is complete, **start your StudioCMS project** as usual: - + Your project should now be running with the updated database schema and configuration. From 0c89072b27d4897b0f296eb4a967c2f33adde6f0 Mon Sep 17 00:00:00 2001 From: Adam Matthiesen Date: Mon, 8 Dec 2025 15:39:36 -0800 Subject: [PATCH 10/71] feat: enhance package catalog display with no packages message and remove deprecated web vitals entries --- src/components/PackageCatalog.astro | 6 +- .../community-plugins/web-vitals.mdx | 76 ------------------- src/content/i18n/en.json | 1 + .../package-catalog/astrojs-web-vitals.json | 11 --- .../package-catalog/studiocms-web-vitals.json | 11 --- 5 files changed, 5 insertions(+), 100 deletions(-) delete mode 100644 src/content/docs/en/package-catalog/community-plugins/web-vitals.mdx delete mode 100644 src/content/package-catalog/astrojs-web-vitals.json delete mode 100644 src/content/package-catalog/studiocms-web-vitals.json diff --git a/src/components/PackageCatalog.astro b/src/components/PackageCatalog.astro index d0196b89..1ac93e0a 100644 --- a/src/components/PackageCatalog.astro +++ b/src/components/PackageCatalog.astro @@ -35,7 +35,7 @@ const packages = (await getCollection('package-catalog'))
{ - packages.map(({ + packages.length > 0 ? packages.map(({ name: title, githubURL, released, @@ -54,7 +54,9 @@ const packages = (await getCollection('package-catalog')) <>{ index < packages.length - 1 &&
} - )) + )) : ( +

{Astro.locals.t('package-catalog.no-packages')}

+ ) }
\ No newline at end of file diff --git a/src/content/docs/en/package-catalog/community-plugins/web-vitals.mdx b/src/content/docs/en/package-catalog/community-plugins/web-vitals.mdx deleted file mode 100644 index d38e98d9..00000000 --- a/src/content/docs/en/package-catalog/community-plugins/web-vitals.mdx +++ /dev/null @@ -1,76 +0,0 @@ ---- -i18nReady: true -title: "@studiocms/web-vitals" -type: integration -catalogEntry: studiocms-web-vitals -description: "Web Vitals Integration with the StudioCMS Dashboard" -sidebar: - badge: - text: 'Plugin' - variant: 'tip' ---- - -import { PackageManagers } from 'starlight-package-managers' -import Gallery from '~/components/Gallery.astro'; -import { webVitalsImages } from "~/assets/index.ts"; -import { Steps, Tabs, TabItem } from '@astrojs/starlight/components'; - -# Introduction - -This Astro integration enables tracking real-world website performance and storing the data in Astro DB. That data will be used in the StudioCMS dashboard to show the performance metrics of your website from the real world over time. - -## Installation - - -{/* */} - -1. Install the package and add to your astro config using the following command: - - - -2. Push the new configuration to your remote database: - - - -{/* */} - - -{/* */} - -1. Install the package using the following command: - - - -2. Add `@studiocms/web-vitals` to your astro config file: - - ```ts twoslash title="astro.config.mjs" {12} ins={4, 13} - import node from '@astrojs/node'; - import studioCMS from 'studiocms'; - import db from '@astrojs/db'; - import webVitals from '@studiocms/web-vitals'; - import { defineConfig } from 'astro/config'; - - export default defineConfig({ - site: 'https://demo.studiocms.dev/', - output: 'server', - adapter: node({ mode: "standalone" }), - integrations: [ - db(), // REQUIRED - webVitals(), - studioCMS(), - ], - }); - ``` - -3. Push the new configuration to your remote database: - - - -{/* */} - - - - -{/* ## Gallery Demo - - */} diff --git a/src/content/i18n/en.json b/src/content/i18n/en.json index 15272a3c..f817aaa1 100644 --- a/src/content/i18n/en.json +++ b/src/content/i18n/en.json @@ -5,6 +5,7 @@ "sponsors.sponsoredby": "Sponsored by", "package-catalog.readmore.start": "For more information checkout the", "package-catalog.readmore.end": "documentation page", + "package-catalog.no-packages": "No packages available at the moment.", "integration-labels.changelog": "Changelog", "contributors.core-packages": "StudioCMS Core Packages", "contributors.ui-library": "StudioCMS UI Library", diff --git a/src/content/package-catalog/astrojs-web-vitals.json b/src/content/package-catalog/astrojs-web-vitals.json deleted file mode 100644 index 21583c5a..00000000 --- a/src/content/package-catalog/astrojs-web-vitals.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "$schema": "../../../.astro/collections/package-catalog.schema.json", - "name": "@astrojs/web-vitals", - "description": "(DEPRECATED) Use @withstudiocms/web-vitals instead. A plugin for Astro that collects web vitals metrics.", - "docsLink": "/package-catalog/community-plugins/web-vitals/", - "githubURL": "https://github.com/withstudiocms/web-vitals/tree/main/packages/web-vitals/", - "catalog": "community", - "isPlugin": true, - "released": true, - "publiclyUsable": false -} diff --git a/src/content/package-catalog/studiocms-web-vitals.json b/src/content/package-catalog/studiocms-web-vitals.json deleted file mode 100644 index 753621ab..00000000 --- a/src/content/package-catalog/studiocms-web-vitals.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "$schema": "../../../.astro/collections/package-catalog.schema.json", - "name": "@studiocms/web-vitals", - "description": "This Astro integration enables tracking real-world website performance and storing the data in Astro DB.", - "docsLink": "/package-catalog/community-plugins/web-vitals/", - "githubURL": "https://github.com/withstudiocms/web-vitals/tree/main/packages/web-vitals/", - "catalog": "community", - "isPlugin": true, - "released": true, - "publiclyUsable": false -} From 5b22b474e8074134cf2ba2bac9d0ed1fe3e79687 Mon Sep 17 00:00:00 2001 From: Adam Matthiesen Date: Mon, 8 Dec 2025 15:56:22 -0800 Subject: [PATCH 11/71] feat: add hidden property to package catalog schema and filter out hidden packages --- src/components/PackageCatalog.astro | 3 ++- src/content.config.ts | 1 + src/content/package-catalog/astrojs-web-vitals.json | 12 ++++++++++++ .../package-catalog/studiocms-web-vitals.json | 12 ++++++++++++ 4 files changed, 27 insertions(+), 1 deletion(-) create mode 100644 src/content/package-catalog/astrojs-web-vitals.json create mode 100644 src/content/package-catalog/studiocms-web-vitals.json diff --git a/src/components/PackageCatalog.astro b/src/components/PackageCatalog.astro index 1ac93e0a..fd363d2e 100644 --- a/src/components/PackageCatalog.astro +++ b/src/components/PackageCatalog.astro @@ -29,7 +29,8 @@ const packages = (await getCollection('package-catalog')) docsLink: data.docsLink.startsWith('/') ? `/${Astro.currentLocale}${data.docsLink}`.toString() : data.docsLink, - })); + })) + .filter(({ hidden }) => !hidden); ---
diff --git a/src/content.config.ts b/src/content.config.ts index 32e79100..9f471a00 100644 --- a/src/content.config.ts +++ b/src/content.config.ts @@ -17,6 +17,7 @@ const packageCatalogSchema = z.object({ experimental: z.boolean().optional().default(false), publiclyUsable: z.boolean().optional().default(false), released: z.boolean().optional().default(true), + hidden: z.boolean().optional().default(false), }); const baseSchema = topicSchema.extend({ diff --git a/src/content/package-catalog/astrojs-web-vitals.json b/src/content/package-catalog/astrojs-web-vitals.json new file mode 100644 index 00000000..aa2accdc --- /dev/null +++ b/src/content/package-catalog/astrojs-web-vitals.json @@ -0,0 +1,12 @@ +{ + "$schema": "../../../.astro/collections/package-catalog.schema.json", + "name": "@astrojs/web-vitals", + "description": "(DEPRECATED) Use @withstudiocms/web-vitals instead. A plugin for Astro that collects web vitals metrics.", + "docsLink": "/package-catalog/community-plugins/web-vitals/", + "githubURL": "https://github.com/withstudiocms/web-vitals/tree/main/packages/web-vitals/", + "catalog": "community", + "isPlugin": true, + "released": true, + "publiclyUsable": false, + "hidden": true +} \ No newline at end of file diff --git a/src/content/package-catalog/studiocms-web-vitals.json b/src/content/package-catalog/studiocms-web-vitals.json new file mode 100644 index 00000000..abba5932 --- /dev/null +++ b/src/content/package-catalog/studiocms-web-vitals.json @@ -0,0 +1,12 @@ +{ + "$schema": "../../../.astro/collections/package-catalog.schema.json", + "name": "@studiocms/web-vitals", + "description": "This Astro integration enables tracking real-world website performance and storing the data in Astro DB.", + "docsLink": "/package-catalog/community-plugins/web-vitals/", + "githubURL": "https://github.com/withstudiocms/web-vitals/tree/main/packages/web-vitals/", + "catalog": "community", + "isPlugin": true, + "released": true, + "publiclyUsable": false, + "hidden": true +} \ No newline at end of file From 3aedc8655bafe9382e77e8965e350ea315854f6c Mon Sep 17 00:00:00 2001 From: Adam Matthiesen Date: Mon, 8 Dec 2025 16:04:33 -0800 Subject: [PATCH 12/71] feat: add topic property to upgrade guides and set sidebar entries as hidden --- .../docs/en/guides/upgrade/version-guides/0-1-0-beta-16.mdx | 1 + .../docs/en/guides/upgrade/version-guides/0-1-0-beta-17.mdx | 1 + .../docs/en/guides/upgrade/version-guides/0-1-0-beta-18.mdx | 1 + .../docs/en/guides/upgrade/version-guides/0-1-0-beta-19.mdx | 1 + .../docs/en/guides/upgrade/version-guides/0-1-0-beta-20.mdx | 1 + .../docs/en/guides/upgrade/version-guides/0-1-0-beta-21.mdx | 1 + .../docs/en/guides/upgrade/version-guides/0-1-0-beta-22.mdx | 1 + .../docs/en/guides/upgrade/version-guides/0-1-0-beta-23.mdx | 1 + .../docs/en/guides/upgrade/version-guides/0-1-0-beta-24.mdx | 1 + .../docs/en/guides/upgrade/version-guides/0-1-0-beta-25.mdx | 1 + .../docs/en/guides/upgrade/version-guides/0-1-0-beta-26.mdx | 1 + .../docs/en/guides/upgrade/version-guides/0-1-0-beta-27.mdx | 1 + .../docs/en/guides/upgrade/version-guides/0-1-0-beta-28.mdx | 1 + .../docs/en/guides/upgrade/version-guides/0-1-0-beta-29.mdx | 1 + .../docs/en/guides/upgrade/version-guides/0-1-0-beta-30.mdx | 1 + .../docs/en/guides/upgrade/version-guides/0-1-0-beta-31.mdx | 1 + 16 files changed, 16 insertions(+) diff --git a/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-16.mdx b/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-16.mdx index 33f2d2fb..ef3751e9 100644 --- a/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-16.mdx +++ b/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-16.mdx @@ -2,6 +2,7 @@ i18nReady: true title: "Upgrade: 0.1.0-beta.16" description: Upgrade StudioCMS to Beta.16 +topic: guides sidebar: label: 0.1.0-beta.16 hidden: true diff --git a/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-17.mdx b/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-17.mdx index fa9aeaee..11e2e11c 100644 --- a/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-17.mdx +++ b/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-17.mdx @@ -2,6 +2,7 @@ i18nReady: true title: "Upgrade: 0.1.0-beta.17" description: Upgrade StudioCMS to Beta.17 +topic: guides sidebar: label: 0.1.0-beta.17 hidden: true diff --git a/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-18.mdx b/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-18.mdx index 6b4dc756..d4f5142b 100644 --- a/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-18.mdx +++ b/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-18.mdx @@ -2,6 +2,7 @@ i18nReady: true title: "Upgrade: 0.1.0-beta.18" description: Upgrade StudioCMS to Beta.18 +topic: guides sidebar: label: 0.1.0-beta.18 hidden: true diff --git a/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-19.mdx b/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-19.mdx index 17540a44..5562b32a 100644 --- a/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-19.mdx +++ b/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-19.mdx @@ -2,6 +2,7 @@ i18nReady: true title: "Upgrade: 0.1.0-beta.19" description: Upgrade StudioCMS to Beta.19 +topic: guides sidebar: label: 0.1.0-beta.19 hidden: true diff --git a/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-20.mdx b/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-20.mdx index e3c15eb5..45c307cf 100644 --- a/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-20.mdx +++ b/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-20.mdx @@ -2,6 +2,7 @@ i18nReady: true title: "Upgrade: 0.1.0-beta.20" description: Upgrade StudioCMS to Beta.20 +topic: guides sidebar: label: 0.1.0-beta.20 hidden: true diff --git a/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-21.mdx b/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-21.mdx index 092b6bd6..93ea7116 100644 --- a/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-21.mdx +++ b/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-21.mdx @@ -2,6 +2,7 @@ i18nReady: true title: "Upgrade: 0.1.0-beta.21" description: Upgrade StudioCMS to Beta.21 +topic: guides sidebar: label: 0.1.0-beta.21 hidden: true diff --git a/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-22.mdx b/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-22.mdx index 2a3e0a54..3e8cfd51 100644 --- a/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-22.mdx +++ b/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-22.mdx @@ -2,6 +2,7 @@ i18nReady: true title: "Upgrade: 0.1.0-beta.22" description: Upgrade StudioCMS to Beta.22 +topic: guides sidebar: label: 0.1.0-beta.22 hidden: true diff --git a/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-23.mdx b/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-23.mdx index d3e60c02..616524fc 100644 --- a/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-23.mdx +++ b/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-23.mdx @@ -2,6 +2,7 @@ i18nReady: true title: "Upgrade: 0.1.0-beta.23" description: Upgrade StudioCMS to Beta.23 +topic: guides sidebar: label: 0.1.0-beta.23 hidden: true diff --git a/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-24.mdx b/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-24.mdx index 4e9be3f3..03749ff6 100644 --- a/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-24.mdx +++ b/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-24.mdx @@ -2,6 +2,7 @@ i18nReady: true title: "Upgrade: 0.1.0-beta.24" description: Upgrade StudioCMS to Beta.24 +topic: guides sidebar: label: 0.1.0-beta.24 hidden: true diff --git a/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-25.mdx b/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-25.mdx index 6992a50c..be17205d 100644 --- a/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-25.mdx +++ b/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-25.mdx @@ -2,6 +2,7 @@ i18nReady: true title: "Upgrade: 0.1.0-beta.25" description: Upgrade StudioCMS to Beta.25 +topic: guides sidebar: label: 0.1.0-beta.25 order: 999990 diff --git a/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-26.mdx b/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-26.mdx index 3a645dbf..81490769 100644 --- a/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-26.mdx +++ b/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-26.mdx @@ -2,6 +2,7 @@ i18nReady: true title: "Upgrade: 0.1.0-beta.26" description: Upgrade StudioCMS to Beta.26 +topic: guides sidebar: label: 0.1.0-beta.26 order: 999989 diff --git a/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-27.mdx b/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-27.mdx index 2f6c679f..e84d218f 100644 --- a/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-27.mdx +++ b/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-27.mdx @@ -2,6 +2,7 @@ i18nReady: true title: "Upgrade: 0.1.0-beta.27" description: Upgrade StudioCMS to Beta.27 +topic: guides sidebar: label: 0.1.0-beta.27 order: 999988 diff --git a/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-28.mdx b/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-28.mdx index e508e350..625215b1 100644 --- a/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-28.mdx +++ b/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-28.mdx @@ -2,6 +2,7 @@ i18nReady: true title: "Upgrade: 0.1.0-beta.28" description: Upgrade StudioCMS to Beta.28 +topic: guides sidebar: label: 0.1.0-beta.28 order: 999987 diff --git a/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-29.mdx b/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-29.mdx index e4efed13..420d206c 100644 --- a/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-29.mdx +++ b/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-29.mdx @@ -2,6 +2,7 @@ i18nReady: true title: "Upgrade: 0.1.0-beta.29" description: Upgrade StudioCMS to Beta.29 +topic: guides sidebar: label: 0.1.0-beta.29 order: 999986 diff --git a/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-30.mdx b/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-30.mdx index df418e12..71578216 100644 --- a/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-30.mdx +++ b/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-30.mdx @@ -2,6 +2,7 @@ i18nReady: true title: "Upgrade: 0.1.0-beta.30" description: Upgrade StudioCMS to Beta.30 +topic: guides sidebar: label: 0.1.0-beta.30 order: 999985 diff --git a/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-31.mdx b/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-31.mdx index d1b66395..a6f915fa 100644 --- a/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-31.mdx +++ b/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-31.mdx @@ -2,6 +2,7 @@ i18nReady: true title: "Upgrade: 0.1.0-beta.31" description: Upgrade StudioCMS to Beta.31 +topic: guides sidebar: label: 0.1.0-beta.31 badge: From de319dedd8c93db643506ee1c77620e22c053323 Mon Sep 17 00:00:00 2001 From: Adam Matthiesen Date: Mon, 8 Dec 2025 16:09:57 -0800 Subject: [PATCH 13/71] fix: update web vitals guide link in upgrade guides for Beta.19 and Beta.22 --- .../docs/en/guides/upgrade/version-guides/0-1-0-beta-19.mdx | 2 +- .../docs/en/guides/upgrade/version-guides/0-1-0-beta-22.mdx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-19.mdx b/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-19.mdx index 5562b32a..6120b95d 100644 --- a/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-19.mdx +++ b/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-19.mdx @@ -36,7 +36,7 @@ Please note that in `beta.16` we introduced a breaking change with the password [config-doc]: /en/config-reference/ [image-service]: /en/config-reference/features/#preferredimageservice [cloudinary-plugin]: /en/package-catalog/studiocms-plugins/studiocms-cloudinary-js/ -[web-vitals-guide]: /en/package-catalog/community-plugins/web-vitals/ +[web-vitals-guide]: /en/package-catalog/community-plugins/ {/* External Links */} [effect-website]: https://effect.website \ No newline at end of file diff --git a/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-22.mdx b/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-22.mdx index 3e8cfd51..74008408 100644 --- a/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-22.mdx +++ b/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-22.mdx @@ -41,6 +41,6 @@ import { Aside } from '@astrojs/starlight/components' {/* Links */} [config-doc]: /en/config-reference/ -[web-vitals-guide]: /en/package-catalog/community-plugins/web-vitals/ +[web-vitals-guide]: /en/package-catalog/community-plugins/ [studiocms-html]: /en/package-catalog/studiocms-plugins/studiocms-html/ [studiocms-md]: /en/package-catalog/studiocms-plugins/studiocms-md/ \ No newline at end of file From 1456dc17313cdf68905afefe45a41537bd05e7b7 Mon Sep 17 00:00:00 2001 From: Adam Matthiesen Date: Mon, 8 Dec 2025 16:17:44 -0800 Subject: [PATCH 14/71] fix: update web vitals guide link in upgrade guides for Beta.19 and Beta.22 --- .../docs/en/guides/upgrade/version-guides/0-1-0-beta-19.mdx | 2 +- .../docs/en/guides/upgrade/version-guides/0-1-0-beta-22.mdx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-19.mdx b/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-19.mdx index 6120b95d..94bbf70b 100644 --- a/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-19.mdx +++ b/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-19.mdx @@ -36,7 +36,7 @@ Please note that in `beta.16` we introduced a breaking change with the password [config-doc]: /en/config-reference/ [image-service]: /en/config-reference/features/#preferredimageservice [cloudinary-plugin]: /en/package-catalog/studiocms-plugins/studiocms-cloudinary-js/ -[web-vitals-guide]: /en/package-catalog/community-plugins/ +[web-vitals-guide]: /en/package-catalog/ {/* External Links */} [effect-website]: https://effect.website \ No newline at end of file diff --git a/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-22.mdx b/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-22.mdx index 74008408..c1bf5391 100644 --- a/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-22.mdx +++ b/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-22.mdx @@ -41,6 +41,6 @@ import { Aside } from '@astrojs/starlight/components' {/* Links */} [config-doc]: /en/config-reference/ -[web-vitals-guide]: /en/package-catalog/community-plugins/ +[web-vitals-guide]: /en/package-catalog/ [studiocms-html]: /en/package-catalog/studiocms-plugins/studiocms-html/ [studiocms-md]: /en/package-catalog/studiocms-plugins/studiocms-md/ \ No newline at end of file From 2c044b2cf4adedadef3d3dbd9e5c85c8a6ad6a95 Mon Sep 17 00:00:00 2001 From: Adam Matthiesen Date: Mon, 8 Dec 2025 16:48:56 -0800 Subject: [PATCH 15/71] fix: update migration command to include --latest flag in getting started guide --- src/content/docs/en/start-here/getting-started.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/docs/en/start-here/getting-started.mdx b/src/content/docs/en/start-here/getting-started.mdx index 91fb9d9c..a12ee306 100644 --- a/src/content/docs/en/start-here/getting-started.mdx +++ b/src/content/docs/en/start-here/getting-started.mdx @@ -369,7 +369,7 @@ Thanks to the power of Astro running StudioCMS is as easy as running the dev com To start your Astro project, run the following commands in your terminal: - + After running the commands, you should see a message indicating that your project is running at `localhost:4321`. When first setting up StudioCMS, you will prompted to finish configuring StudioCMS at `http://localhost:4321/start` From 179d647e7702472d715542985ee2c85f8127d0f8 Mon Sep 17 00:00:00 2001 From: Adam Matthiesen Date: Mon, 8 Dec 2025 18:44:22 -0800 Subject: [PATCH 16/71] feat: add webVitals feature for performance tracking and update upgrade guide for version 0.1.0-beta.31 --- package.json | 22 +- pnpm-lock.yaml | 226 +++++++++--------- .../docs/en/config-reference/features.mdx | 19 ++ .../upgrade/version-guides/0-1-0-beta-31.mdx | 22 +- 4 files changed, 167 insertions(+), 122 deletions(-) diff --git a/package.json b/package.json index 9c976135..4fc9e459 100644 --- a/package.json +++ b/package.json @@ -22,17 +22,17 @@ "gen-changelogs": "tsm --require=./scripts/filter-warnings.cjs ./scripts/generate-release-notes.ts" }, "dependencies": { - "@studiocms/blog": "https://pkg.pr.new/withstudiocms/studiocms/@studiocms/blog@05baab6", - "@studiocms/cloudinary-image-service": "https://pkg.pr.new/withstudiocms/studiocms/@studiocms/cloudinary-image-service@05baab6", - "@studiocms/devapps": "https://pkg.pr.new/withstudiocms/studiocms/@studiocms/devapps@05baab6", - "@studiocms/html": "https://pkg.pr.new/withstudiocms/studiocms/@studiocms/html@05baab6", - "@studiocms/markdoc": "https://pkg.pr.new/withstudiocms/studiocms/@studiocms/markdoc@05baab6", - "@studiocms/md": "https://pkg.pr.new/withstudiocms/studiocms/@studiocms/md@05baab6", - "@studiocms/mdx": "https://pkg.pr.new/withstudiocms/studiocms/@studiocms/mdx@05baab6", - "@studiocms/wysiwyg": "https://pkg.pr.new/withstudiocms/studiocms/@studiocms/wysiwyg@05baab6", - "studiocms": "https://pkg.pr.new/withstudiocms/studiocms@05baab6", - "@withstudiocms/component-registry": "https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/component-registry@05baab6", - "@withstudiocms/kysely": "https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/kysely@05baab6", + "@studiocms/blog": "https://pkg.pr.new/withstudiocms/studiocms/@studiocms/blog@eb7a3ce", + "@studiocms/cloudinary-image-service": "https://pkg.pr.new/withstudiocms/studiocms/@studiocms/cloudinary-image-service@eb7a3ce", + "@studiocms/devapps": "https://pkg.pr.new/withstudiocms/studiocms/@studiocms/devapps@eb7a3ce", + "@studiocms/html": "https://pkg.pr.new/withstudiocms/studiocms/@studiocms/html@eb7a3ce", + "@studiocms/markdoc": "https://pkg.pr.new/withstudiocms/studiocms/@studiocms/markdoc@eb7a3ce", + "@studiocms/md": "https://pkg.pr.new/withstudiocms/studiocms/@studiocms/md@eb7a3ce", + "@studiocms/mdx": "https://pkg.pr.new/withstudiocms/studiocms/@studiocms/mdx@eb7a3ce", + "@studiocms/wysiwyg": "https://pkg.pr.new/withstudiocms/studiocms/@studiocms/wysiwyg@eb7a3ce", + "studiocms": "https://pkg.pr.new/withstudiocms/studiocms@eb7a3ce", + "@withstudiocms/component-registry": "https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/component-registry@eb7a3ce", + "@withstudiocms/kysely": "https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/kysely@eb7a3ce", "@studiocms/ui": "1.0.0-beta.4", "@studiocms/web-vitals": "^4.5.3", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f06978f2..bbf177ce 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -51,26 +51,26 @@ importers: specifier: ^3.2.1 version: 3.13.0 '@studiocms/blog': - specifier: https://pkg.pr.new/withstudiocms/studiocms/@studiocms/blog@05baab6 - version: https://pkg.pr.new/withstudiocms/studiocms/@studiocms/blog@05baab6(@studiocms/md@https://pkg.pr.new/withstudiocms/studiocms/@studiocms/md@05baab6(@astrojs/markdown-remark@6.3.7)(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1))(effect@3.17.14)(studiocms@https://pkg.pr.new/withstudiocms/studiocms@05baab6(8ed8ce9f8a8227c0c743f0f77e40a609))(vite@6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1)))(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1))(effect@3.17.14)(studiocms@https://pkg.pr.new/withstudiocms/studiocms@05baab6(8ed8ce9f8a8227c0c743f0f77e40a609))(vite@6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1)) + specifier: https://pkg.pr.new/withstudiocms/studiocms/@studiocms/blog@eb7a3ce + version: https://pkg.pr.new/withstudiocms/studiocms/@studiocms/blog@eb7a3ce(@studiocms/md@https://pkg.pr.new/withstudiocms/studiocms/@studiocms/md@eb7a3ce(@astrojs/markdown-remark@6.3.7)(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1))(effect@3.17.14)(studiocms@https://pkg.pr.new/withstudiocms/studiocms@eb7a3ce(8ed8ce9f8a8227c0c743f0f77e40a609))(vite@6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1)))(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1))(effect@3.17.14)(studiocms@https://pkg.pr.new/withstudiocms/studiocms@eb7a3ce(8ed8ce9f8a8227c0c743f0f77e40a609))(vite@6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1)) '@studiocms/cloudinary-image-service': - specifier: https://pkg.pr.new/withstudiocms/studiocms/@studiocms/cloudinary-image-service@05baab6 - version: https://pkg.pr.new/withstudiocms/studiocms/@studiocms/cloudinary-image-service@05baab6(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1))(effect@3.17.14)(studiocms@https://pkg.pr.new/withstudiocms/studiocms@05baab6(8ed8ce9f8a8227c0c743f0f77e40a609))(vite@6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1)) + specifier: https://pkg.pr.new/withstudiocms/studiocms/@studiocms/cloudinary-image-service@eb7a3ce + version: https://pkg.pr.new/withstudiocms/studiocms/@studiocms/cloudinary-image-service@eb7a3ce(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1))(effect@3.17.14)(studiocms@https://pkg.pr.new/withstudiocms/studiocms@eb7a3ce(8ed8ce9f8a8227c0c743f0f77e40a609))(vite@6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1)) '@studiocms/devapps': - specifier: https://pkg.pr.new/withstudiocms/studiocms/@studiocms/devapps@05baab6 - version: https://pkg.pr.new/withstudiocms/studiocms/@studiocms/devapps@05baab6(@withstudiocms/kysely@https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/kysely@05baab6(@libsql/client@0.15.15)(effect@3.17.14)(mysql2@3.15.3)(pg@8.16.3))(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1))(effect@3.17.14)(studiocms@https://pkg.pr.new/withstudiocms/studiocms@05baab6(8ed8ce9f8a8227c0c743f0f77e40a609))(vite@6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1)) + specifier: https://pkg.pr.new/withstudiocms/studiocms/@studiocms/devapps@eb7a3ce + version: https://pkg.pr.new/withstudiocms/studiocms/@studiocms/devapps@eb7a3ce(@withstudiocms/kysely@https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/kysely@eb7a3ce(@libsql/client@0.15.15)(effect@3.17.14)(mysql2@3.15.3)(pg@8.16.3))(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1))(effect@3.17.14)(studiocms@https://pkg.pr.new/withstudiocms/studiocms@eb7a3ce(8ed8ce9f8a8227c0c743f0f77e40a609))(vite@6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1)) '@studiocms/html': - specifier: https://pkg.pr.new/withstudiocms/studiocms/@studiocms/html@05baab6 - version: https://pkg.pr.new/withstudiocms/studiocms/@studiocms/html@05baab6(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1))(effect@3.17.14)(studiocms@https://pkg.pr.new/withstudiocms/studiocms@05baab6(8ed8ce9f8a8227c0c743f0f77e40a609))(vite@6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1)) + specifier: https://pkg.pr.new/withstudiocms/studiocms/@studiocms/html@eb7a3ce + version: https://pkg.pr.new/withstudiocms/studiocms/@studiocms/html@eb7a3ce(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1))(effect@3.17.14)(studiocms@https://pkg.pr.new/withstudiocms/studiocms@eb7a3ce(8ed8ce9f8a8227c0c743f0f77e40a609))(vite@6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1)) '@studiocms/markdoc': - specifier: https://pkg.pr.new/withstudiocms/studiocms/@studiocms/markdoc@05baab6 - version: https://pkg.pr.new/withstudiocms/studiocms/@studiocms/markdoc@05baab6(@studiocms/md@https://pkg.pr.new/withstudiocms/studiocms/@studiocms/md@05baab6(@astrojs/markdown-remark@6.3.7)(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1))(effect@3.17.14)(studiocms@https://pkg.pr.new/withstudiocms/studiocms@05baab6(8ed8ce9f8a8227c0c743f0f77e40a609))(vite@6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1)))(@types/react@19.1.13)(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1))(effect@3.17.14)(studiocms@https://pkg.pr.new/withstudiocms/studiocms@05baab6(8ed8ce9f8a8227c0c743f0f77e40a609))(vite@6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1)) + specifier: https://pkg.pr.new/withstudiocms/studiocms/@studiocms/markdoc@eb7a3ce + version: https://pkg.pr.new/withstudiocms/studiocms/@studiocms/markdoc@eb7a3ce(@studiocms/md@https://pkg.pr.new/withstudiocms/studiocms/@studiocms/md@eb7a3ce(@astrojs/markdown-remark@6.3.7)(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1))(effect@3.17.14)(studiocms@https://pkg.pr.new/withstudiocms/studiocms@eb7a3ce(8ed8ce9f8a8227c0c743f0f77e40a609))(vite@6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1)))(@types/react@19.1.13)(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1))(effect@3.17.14)(studiocms@https://pkg.pr.new/withstudiocms/studiocms@eb7a3ce(8ed8ce9f8a8227c0c743f0f77e40a609))(vite@6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1)) '@studiocms/md': - specifier: https://pkg.pr.new/withstudiocms/studiocms/@studiocms/md@05baab6 - version: https://pkg.pr.new/withstudiocms/studiocms/@studiocms/md@05baab6(@astrojs/markdown-remark@6.3.7)(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1))(effect@3.17.14)(studiocms@https://pkg.pr.new/withstudiocms/studiocms@05baab6(8ed8ce9f8a8227c0c743f0f77e40a609))(vite@6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1)) + specifier: https://pkg.pr.new/withstudiocms/studiocms/@studiocms/md@eb7a3ce + version: https://pkg.pr.new/withstudiocms/studiocms/@studiocms/md@eb7a3ce(@astrojs/markdown-remark@6.3.7)(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1))(effect@3.17.14)(studiocms@https://pkg.pr.new/withstudiocms/studiocms@eb7a3ce(8ed8ce9f8a8227c0c743f0f77e40a609))(vite@6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1)) '@studiocms/mdx': - specifier: https://pkg.pr.new/withstudiocms/studiocms/@studiocms/mdx@05baab6 - version: https://pkg.pr.new/withstudiocms/studiocms/@studiocms/mdx@05baab6(@studiocms/md@https://pkg.pr.new/withstudiocms/studiocms/@studiocms/md@05baab6(@astrojs/markdown-remark@6.3.7)(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1))(effect@3.17.14)(studiocms@https://pkg.pr.new/withstudiocms/studiocms@05baab6(8ed8ce9f8a8227c0c743f0f77e40a609))(vite@6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1)))(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1))(effect@3.17.14)(studiocms@https://pkg.pr.new/withstudiocms/studiocms@05baab6(8ed8ce9f8a8227c0c743f0f77e40a609))(vite@6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1)) + specifier: https://pkg.pr.new/withstudiocms/studiocms/@studiocms/mdx@eb7a3ce + version: https://pkg.pr.new/withstudiocms/studiocms/@studiocms/mdx@eb7a3ce(@studiocms/md@https://pkg.pr.new/withstudiocms/studiocms/@studiocms/md@eb7a3ce(@astrojs/markdown-remark@6.3.7)(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1))(effect@3.17.14)(studiocms@https://pkg.pr.new/withstudiocms/studiocms@eb7a3ce(8ed8ce9f8a8227c0c743f0f77e40a609))(vite@6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1)))(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1))(effect@3.17.14)(studiocms@https://pkg.pr.new/withstudiocms/studiocms@eb7a3ce(8ed8ce9f8a8227c0c743f0f77e40a609))(vite@6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1)) '@studiocms/ui': specifier: 1.0.0-beta.4 version: 1.0.0-beta.4(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1))(vite@6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1)) @@ -78,8 +78,8 @@ importers: specifier: ^4.5.3 version: 4.5.3(@astrojs/db@0.18.0(kysely@0.28.8)(mysql2@3.15.3)(pg@8.16.3)) '@studiocms/wysiwyg': - specifier: https://pkg.pr.new/withstudiocms/studiocms/@studiocms/wysiwyg@05baab6 - version: https://pkg.pr.new/withstudiocms/studiocms/@studiocms/wysiwyg@05baab6(@studiocms/ui@1.0.0-beta.4(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1))(vite@6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1)))(@withstudiocms/component-registry@https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/component-registry@05baab6(c4a97722045c625718e5b56c61d9382d))(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1))(studiocms@https://pkg.pr.new/withstudiocms/studiocms@05baab6(8ed8ce9f8a8227c0c743f0f77e40a609))(vite@6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1)) + specifier: https://pkg.pr.new/withstudiocms/studiocms/@studiocms/wysiwyg@eb7a3ce + version: https://pkg.pr.new/withstudiocms/studiocms/@studiocms/wysiwyg@eb7a3ce(@studiocms/ui@1.0.0-beta.4(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1))(vite@6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1)))(@withstudiocms/component-registry@https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/component-registry@eb7a3ce(c4a97722045c625718e5b56c61d9382d))(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1))(studiocms@https://pkg.pr.new/withstudiocms/studiocms@eb7a3ce(8ed8ce9f8a8227c0c743f0f77e40a609))(vite@6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1)) '@types/hast': specifier: ^3.0.4 version: 3.0.4 @@ -96,11 +96,11 @@ importers: specifier: ^7.7.0 version: 7.7.1 '@withstudiocms/component-registry': - specifier: https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/component-registry@05baab6 - version: https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/component-registry@05baab6(c4a97722045c625718e5b56c61d9382d) + specifier: https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/component-registry@eb7a3ce + version: https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/component-registry@eb7a3ce(c4a97722045c625718e5b56c61d9382d) '@withstudiocms/kysely': - specifier: https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/kysely@05baab6 - version: https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/kysely@05baab6(@libsql/client@0.15.15)(effect@3.17.14)(mysql2@3.15.3)(pg@8.16.3) + specifier: https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/kysely@eb7a3ce + version: https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/kysely@eb7a3ce(@libsql/client@0.15.15)(effect@3.17.14)(mysql2@3.15.3)(pg@8.16.3) astro: specifier: ^5.12.9 version: 5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1) @@ -168,8 +168,8 @@ importers: specifier: ^0.6.0 version: 0.6.1(@astrojs/starlight@0.35.3(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1))) studiocms: - specifier: https://pkg.pr.new/withstudiocms/studiocms@05baab6 - version: https://pkg.pr.new/withstudiocms/studiocms@05baab6(8ed8ce9f8a8227c0c743f0f77e40a609) + specifier: https://pkg.pr.new/withstudiocms/studiocms@eb7a3ce + version: https://pkg.pr.new/withstudiocms/studiocms@eb7a3ce(8ed8ce9f8a8227c0c743f0f77e40a609) tsm: specifier: ^2.3.0 version: 2.3.0 @@ -1458,6 +1458,9 @@ packages: '@oslojs/encoding@1.1.0': resolution: {integrity: sha512-70wQhgYmndg4GCPxPPxPGevRKqTIJ2Nh4OkiMWmDAVYsTQ+Ta7Sq+rPevXyXGdzr30/qZBnyOalCszoMxlyldQ==} + '@outerbase/sdk-transform@1.0.8': + resolution: {integrity: sha512-M9EGGwRXUZ7xuX012sIZpsT92Bx1dewac9iubTHsC+/6IGVM678+Vkv44bcDL5Lx6ol+FQ2Exq1TU+OGOmYFEg==} + '@oxc-resolver/binding-android-arm-eabi@11.8.3': resolution: {integrity: sha512-er6onTUX8NMF5kBNGHCF8S6vxWVJS5BKO6SmLRW5nfZgHDHWsESH1YgyKpO6n6HBd/x58+7r9/1fxF3N8z911A==} cpu: [arm] @@ -1846,8 +1849,8 @@ packages: '@standard-schema/spec@1.0.0': resolution: {integrity: sha512-m2bOd0f2RT9k8QJx1JN85cZYyH1RqFBdlwtkSlf4tBDYLCiiZnv1fIIwacK6cqwXavOydf0NPToMQgpKq+dVlA==} - '@studiocms/blog@https://pkg.pr.new/withstudiocms/studiocms/@studiocms/blog@05baab6': - resolution: {tarball: https://pkg.pr.new/withstudiocms/studiocms/@studiocms/blog@05baab6} + '@studiocms/blog@https://pkg.pr.new/withstudiocms/studiocms/@studiocms/blog@eb7a3ce': + resolution: {tarball: https://pkg.pr.new/withstudiocms/studiocms/@studiocms/blog@eb7a3ce} version: 0.1.0-beta.31 peerDependencies: '@studiocms/md': 0.1.0-beta.31 @@ -1856,8 +1859,8 @@ packages: studiocms: 0.1.0-beta.31 vite: ^6.3.4 - '@studiocms/cloudinary-image-service@https://pkg.pr.new/withstudiocms/studiocms/@studiocms/cloudinary-image-service@05baab6': - resolution: {tarball: https://pkg.pr.new/withstudiocms/studiocms/@studiocms/cloudinary-image-service@05baab6} + '@studiocms/cloudinary-image-service@https://pkg.pr.new/withstudiocms/studiocms/@studiocms/cloudinary-image-service@eb7a3ce': + resolution: {tarball: https://pkg.pr.new/withstudiocms/studiocms/@studiocms/cloudinary-image-service@eb7a3ce} version: 0.1.0-beta.31 peerDependencies: astro: ^5.12.9 @@ -1865,8 +1868,8 @@ packages: studiocms: 0.1.0-beta.31 vite: ^6.3.4 - '@studiocms/devapps@https://pkg.pr.new/withstudiocms/studiocms/@studiocms/devapps@05baab6': - resolution: {tarball: https://pkg.pr.new/withstudiocms/studiocms/@studiocms/devapps@05baab6} + '@studiocms/devapps@https://pkg.pr.new/withstudiocms/studiocms/@studiocms/devapps@eb7a3ce': + resolution: {tarball: https://pkg.pr.new/withstudiocms/studiocms/@studiocms/devapps@eb7a3ce} version: 0.1.0-beta.31 peerDependencies: '@withstudiocms/kysely': 0.1.0-beta.1 @@ -1875,8 +1878,8 @@ packages: studiocms: 0.1.0-beta.31 vite: ^6.3.4 - '@studiocms/html@https://pkg.pr.new/withstudiocms/studiocms/@studiocms/html@05baab6': - resolution: {tarball: https://pkg.pr.new/withstudiocms/studiocms/@studiocms/html@05baab6} + '@studiocms/html@https://pkg.pr.new/withstudiocms/studiocms/@studiocms/html@eb7a3ce': + resolution: {tarball: https://pkg.pr.new/withstudiocms/studiocms/@studiocms/html@eb7a3ce} version: 0.1.0-beta.31 peerDependencies: astro: ^5.12.9 @@ -1884,8 +1887,8 @@ packages: studiocms: 0.1.0-beta.31 vite: ^6.3.4 - '@studiocms/markdoc@https://pkg.pr.new/withstudiocms/studiocms/@studiocms/markdoc@05baab6': - resolution: {tarball: https://pkg.pr.new/withstudiocms/studiocms/@studiocms/markdoc@05baab6} + '@studiocms/markdoc@https://pkg.pr.new/withstudiocms/studiocms/@studiocms/markdoc@eb7a3ce': + resolution: {tarball: https://pkg.pr.new/withstudiocms/studiocms/@studiocms/markdoc@eb7a3ce} version: 0.1.0-beta.31 peerDependencies: '@studiocms/md': 0.1.0-beta.31 @@ -1897,8 +1900,8 @@ packages: '@studiocms/markdown-remark-processor@1.2.0': resolution: {integrity: sha512-3qOupRze2HKO2VdcrN0c5j9ZYoM8hlhFjrs4m5pg4w5Do5I1MTuDDTXmfRnZ+CwDrXyUaYr+DK1Csb7zMYjzyA==} - '@studiocms/md@https://pkg.pr.new/withstudiocms/studiocms/@studiocms/md@05baab6': - resolution: {tarball: https://pkg.pr.new/withstudiocms/studiocms/@studiocms/md@05baab6} + '@studiocms/md@https://pkg.pr.new/withstudiocms/studiocms/@studiocms/md@eb7a3ce': + resolution: {tarball: https://pkg.pr.new/withstudiocms/studiocms/@studiocms/md@eb7a3ce} version: 0.1.0-beta.31 peerDependencies: '@astrojs/markdown-remark': ^6.3.3 @@ -1907,8 +1910,8 @@ packages: studiocms: 0.1.0-beta.31 vite: ^6.3.4 - '@studiocms/mdx@https://pkg.pr.new/withstudiocms/studiocms/@studiocms/mdx@05baab6': - resolution: {tarball: https://pkg.pr.new/withstudiocms/studiocms/@studiocms/mdx@05baab6} + '@studiocms/mdx@https://pkg.pr.new/withstudiocms/studiocms/@studiocms/mdx@eb7a3ce': + resolution: {tarball: https://pkg.pr.new/withstudiocms/studiocms/@studiocms/mdx@eb7a3ce} version: 0.1.0-beta.31 peerDependencies: '@studiocms/md': 0.1.0-beta.31 @@ -1928,8 +1931,8 @@ packages: peerDependencies: '@astrojs/db': '>=0.17.1' - '@studiocms/wysiwyg@https://pkg.pr.new/withstudiocms/studiocms/@studiocms/wysiwyg@05baab6': - resolution: {tarball: https://pkg.pr.new/withstudiocms/studiocms/@studiocms/wysiwyg@05baab6} + '@studiocms/wysiwyg@https://pkg.pr.new/withstudiocms/studiocms/@studiocms/wysiwyg@eb7a3ce': + resolution: {tarball: https://pkg.pr.new/withstudiocms/studiocms/@studiocms/wysiwyg@eb7a3ce} version: 0.1.0-beta.31 peerDependencies: '@studiocms/ui': ^1.0.0-beta.4 @@ -2097,8 +2100,8 @@ packages: '@vscode/l10n@0.0.18': resolution: {integrity: sha512-KYSIHVmslkaCDyw013pphY+d7x1qV8IZupYfeIfzNA+nsaWHbn5uPuQRvdRFsa9zFzGeudPuoGoZ1Op4jrJXIQ==} - '@withstudiocms/auth-kit@https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/auth-kit@05baab6b8bb28c994f9aaa1c4f1e40af7c5cc0df': - resolution: {tarball: https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/auth-kit@05baab6b8bb28c994f9aaa1c4f1e40af7c5cc0df} + '@withstudiocms/auth-kit@https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/auth-kit@eb7a3ceaf585cd672537d00a06613c408a2eda21': + resolution: {tarball: https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/auth-kit@eb7a3ceaf585cd672537d00a06613c408a2eda21} version: 0.1.0-beta.6 peerDependencies: astro: ^5.12.9 @@ -2107,26 +2110,26 @@ packages: resolution: {integrity: sha512-Nh2sTjL8YTcJ0eIR06yCLrv9qgeM7072L7eHRmMWKJF3weKL3cKSmYvNX3Kcyv4e7UO8pAdcjGfOxOQrCkM0Aw==} engines: {node: ^18.17.1 || ^20.3.0 || >=22.0.0} - '@withstudiocms/component-registry@https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/component-registry@05baab6': - resolution: {tarball: https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/component-registry@05baab6} + '@withstudiocms/component-registry@https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/component-registry@eb7a3ce': + resolution: {tarball: https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/component-registry@eb7a3ce} version: 0.1.0-beta.7 peerDependencies: astro: ^5.12.9 - '@withstudiocms/component-registry@https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/component-registry@05baab6b8bb28c994f9aaa1c4f1e40af7c5cc0df': - resolution: {tarball: https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/component-registry@05baab6b8bb28c994f9aaa1c4f1e40af7c5cc0df} + '@withstudiocms/component-registry@https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/component-registry@eb7a3ceaf585cd672537d00a06613c408a2eda21': + resolution: {tarball: https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/component-registry@eb7a3ceaf585cd672537d00a06613c408a2eda21} version: 0.1.0-beta.7 peerDependencies: astro: ^5.12.9 - '@withstudiocms/config-utils@https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/config-utils@05baab6b8bb28c994f9aaa1c4f1e40af7c5cc0df': - resolution: {tarball: https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/config-utils@05baab6b8bb28c994f9aaa1c4f1e40af7c5cc0df} + '@withstudiocms/config-utils@https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/config-utils@eb7a3ceaf585cd672537d00a06613c408a2eda21': + resolution: {tarball: https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/config-utils@eb7a3ceaf585cd672537d00a06613c408a2eda21} version: 0.1.0-beta.5 peerDependencies: astro: ^5.12.9 - '@withstudiocms/effect@https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/effect@05baab6b8bb28c994f9aaa1c4f1e40af7c5cc0df': - resolution: {tarball: https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/effect@05baab6b8bb28c994f9aaa1c4f1e40af7c5cc0df} + '@withstudiocms/effect@https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/effect@eb7a3ceaf585cd672537d00a06613c408a2eda21': + resolution: {tarball: https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/effect@eb7a3ceaf585cd672537d00a06613c408a2eda21} version: 0.1.0-beta.7 peerDependencies: '@effect/cli': ^0.72.1 @@ -2135,14 +2138,14 @@ packages: astro: ^5.12.9 effect: ^3.19.8 - '@withstudiocms/internal_helpers@https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/internal_helpers@05baab6b8bb28c994f9aaa1c4f1e40af7c5cc0df': - resolution: {tarball: https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/internal_helpers@05baab6b8bb28c994f9aaa1c4f1e40af7c5cc0df} + '@withstudiocms/internal_helpers@https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/internal_helpers@eb7a3ceaf585cd672537d00a06613c408a2eda21': + resolution: {tarball: https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/internal_helpers@eb7a3ceaf585cd672537d00a06613c408a2eda21} version: 0.1.0-beta.4 peerDependencies: astro: ^5.12.9 - '@withstudiocms/kysely@https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/kysely@05baab6': - resolution: {tarball: https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/kysely@05baab6} + '@withstudiocms/kysely@https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/kysely@eb7a3ce': + resolution: {tarball: https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/kysely@eb7a3ce} version: 0.1.0-beta.1 peerDependencies: '@libsql/client': ^0.15.15 @@ -2150,8 +2153,8 @@ packages: mysql2: ^3.15.3 pg: ^8.16.3 - '@withstudiocms/kysely@https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/kysely@05baab6b8bb28c994f9aaa1c4f1e40af7c5cc0df': - resolution: {tarball: https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/kysely@05baab6b8bb28c994f9aaa1c4f1e40af7c5cc0df} + '@withstudiocms/kysely@https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/kysely@eb7a3ceaf585cd672537d00a06613c408a2eda21': + resolution: {tarball: https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/kysely@eb7a3ceaf585cd672537d00a06613c408a2eda21} version: 0.1.0-beta.1 peerDependencies: '@libsql/client': ^0.15.15 @@ -2159,15 +2162,15 @@ packages: mysql2: ^3.15.3 pg: ^8.16.3 - '@withstudiocms/sdk@https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/sdk@05baab6b8bb28c994f9aaa1c4f1e40af7c5cc0df': - resolution: {tarball: https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/sdk@05baab6b8bb28c994f9aaa1c4f1e40af7c5cc0df} + '@withstudiocms/sdk@https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/sdk@eb7a3ceaf585cd672537d00a06613c408a2eda21': + resolution: {tarball: https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/sdk@eb7a3ceaf585cd672537d00a06613c408a2eda21} version: 0.1.0-beta.1 peerDependencies: '@withstudiocms/effect': 0.1.0-beta.7 '@withstudiocms/kysely': 0.1.0-beta.1 - '@withstudiocms/template-lang@https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/template-lang@05baab6b8bb28c994f9aaa1c4f1e40af7c5cc0df': - resolution: {tarball: https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/template-lang@05baab6b8bb28c994f9aaa1c4f1e40af7c5cc0df} + '@withstudiocms/template-lang@https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/template-lang@eb7a3ceaf585cd672537d00a06613c408a2eda21': + resolution: {tarball: https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/template-lang@eb7a3ceaf585cd672537d00a06613c408a2eda21} version: 0.1.0-beta.1 abab@2.0.6: @@ -4638,13 +4641,16 @@ packages: strnum@2.1.1: resolution: {integrity: sha512-7ZvoFTiCnGxBtDqJ//Cu6fWtZtc7Y3x+QOirG15wztbdngGSkht27o2pyGWrVy0b4WAy3jbKmnoK6g5VlVNUUw==} - studiocms@https://pkg.pr.new/withstudiocms/studiocms@05baab6: - resolution: {tarball: https://pkg.pr.new/withstudiocms/studiocms@05baab6} + studiocms@https://pkg.pr.new/withstudiocms/studiocms@eb7a3ce: + resolution: {tarball: https://pkg.pr.new/withstudiocms/studiocms@eb7a3ce} version: 0.1.0-beta.31 hasBin: true peerDependencies: + '@libsql/client': ^0.15.15 astro: ^5.12.9 effect: ^3.19.8 + mysql2: ^3.15.3 + pg: ^8.16.3 vite: ^6.3.4 style-to-js@1.1.17: @@ -6703,6 +6709,8 @@ snapshots: '@oslojs/encoding@1.1.0': {} + '@outerbase/sdk-transform@1.0.8': {} + '@oxc-resolver/binding-android-arm-eabi@11.8.3': optional: true @@ -6959,58 +6967,58 @@ snapshots: '@standard-schema/spec@1.0.0': {} - '@studiocms/blog@https://pkg.pr.new/withstudiocms/studiocms/@studiocms/blog@05baab6(@studiocms/md@https://pkg.pr.new/withstudiocms/studiocms/@studiocms/md@05baab6(@astrojs/markdown-remark@6.3.7)(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1))(effect@3.17.14)(studiocms@https://pkg.pr.new/withstudiocms/studiocms@05baab6(8ed8ce9f8a8227c0c743f0f77e40a609))(vite@6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1)))(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1))(effect@3.17.14)(studiocms@https://pkg.pr.new/withstudiocms/studiocms@05baab6(8ed8ce9f8a8227c0c743f0f77e40a609))(vite@6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1))': + '@studiocms/blog@https://pkg.pr.new/withstudiocms/studiocms/@studiocms/blog@eb7a3ce(@studiocms/md@https://pkg.pr.new/withstudiocms/studiocms/@studiocms/md@eb7a3ce(@astrojs/markdown-remark@6.3.7)(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1))(effect@3.17.14)(studiocms@https://pkg.pr.new/withstudiocms/studiocms@eb7a3ce(8ed8ce9f8a8227c0c743f0f77e40a609))(vite@6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1)))(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1))(effect@3.17.14)(studiocms@https://pkg.pr.new/withstudiocms/studiocms@eb7a3ce(8ed8ce9f8a8227c0c743f0f77e40a609))(vite@6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1))': dependencies: '@astrojs/rss': 4.0.14 - '@studiocms/md': https://pkg.pr.new/withstudiocms/studiocms/@studiocms/md@05baab6(@astrojs/markdown-remark@6.3.7)(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1))(effect@3.17.14)(studiocms@https://pkg.pr.new/withstudiocms/studiocms@05baab6(8ed8ce9f8a8227c0c743f0f77e40a609))(vite@6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1)) + '@studiocms/md': https://pkg.pr.new/withstudiocms/studiocms/@studiocms/md@eb7a3ce(@astrojs/markdown-remark@6.3.7)(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1))(effect@3.17.14)(studiocms@https://pkg.pr.new/withstudiocms/studiocms@eb7a3ce(8ed8ce9f8a8227c0c743f0f77e40a609))(vite@6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1)) astro: 5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1) astro-integration-kit: 0.19.1(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1)) effect: 3.17.14 - studiocms: https://pkg.pr.new/withstudiocms/studiocms@05baab6(8ed8ce9f8a8227c0c743f0f77e40a609) + studiocms: https://pkg.pr.new/withstudiocms/studiocms@eb7a3ce(8ed8ce9f8a8227c0c743f0f77e40a609) vite: 6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1) - '@studiocms/cloudinary-image-service@https://pkg.pr.new/withstudiocms/studiocms/@studiocms/cloudinary-image-service@05baab6(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1))(effect@3.17.14)(studiocms@https://pkg.pr.new/withstudiocms/studiocms@05baab6(8ed8ce9f8a8227c0c743f0f77e40a609))(vite@6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1))': + '@studiocms/cloudinary-image-service@https://pkg.pr.new/withstudiocms/studiocms/@studiocms/cloudinary-image-service@eb7a3ce(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1))(effect@3.17.14)(studiocms@https://pkg.pr.new/withstudiocms/studiocms@eb7a3ce(8ed8ce9f8a8227c0c743f0f77e40a609))(vite@6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1))': dependencies: '@cloudinary/url-gen': 1.22.0 astro: 5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1) astro-integration-kit: 0.19.1(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1)) effect: 3.17.14 - studiocms: https://pkg.pr.new/withstudiocms/studiocms@05baab6(8ed8ce9f8a8227c0c743f0f77e40a609) + studiocms: https://pkg.pr.new/withstudiocms/studiocms@eb7a3ce(8ed8ce9f8a8227c0c743f0f77e40a609) vite: 6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1) - '@studiocms/devapps@https://pkg.pr.new/withstudiocms/studiocms/@studiocms/devapps@05baab6(@withstudiocms/kysely@https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/kysely@05baab6(@libsql/client@0.15.15)(effect@3.17.14)(mysql2@3.15.3)(pg@8.16.3))(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1))(effect@3.17.14)(studiocms@https://pkg.pr.new/withstudiocms/studiocms@05baab6(8ed8ce9f8a8227c0c743f0f77e40a609))(vite@6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1))': + '@studiocms/devapps@https://pkg.pr.new/withstudiocms/studiocms/@studiocms/devapps@eb7a3ce(@withstudiocms/kysely@https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/kysely@eb7a3ce(@libsql/client@0.15.15)(effect@3.17.14)(mysql2@3.15.3)(pg@8.16.3))(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1))(effect@3.17.14)(studiocms@https://pkg.pr.new/withstudiocms/studiocms@eb7a3ce(8ed8ce9f8a8227c0c743f0f77e40a609))(vite@6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1))': dependencies: - '@withstudiocms/kysely': https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/kysely@05baab6(@libsql/client@0.15.15)(effect@3.17.14)(mysql2@3.15.3)(pg@8.16.3) + '@withstudiocms/kysely': https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/kysely@eb7a3ce(@libsql/client@0.15.15)(effect@3.17.14)(mysql2@3.15.3)(pg@8.16.3) astro: 5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1) astro-integration-kit: 0.19.1(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1)) cheerio: 1.1.2 effect: 3.17.14 sanitize-html: 2.17.0 - studiocms: https://pkg.pr.new/withstudiocms/studiocms@05baab6(8ed8ce9f8a8227c0c743f0f77e40a609) + studiocms: https://pkg.pr.new/withstudiocms/studiocms@eb7a3ce(8ed8ce9f8a8227c0c743f0f77e40a609) turndown: 7.2.2 vite: 6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1) - '@studiocms/html@https://pkg.pr.new/withstudiocms/studiocms/@studiocms/html@05baab6(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1))(effect@3.17.14)(studiocms@https://pkg.pr.new/withstudiocms/studiocms@05baab6(8ed8ce9f8a8227c0c743f0f77e40a609))(vite@6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1))': + '@studiocms/html@https://pkg.pr.new/withstudiocms/studiocms/@studiocms/html@eb7a3ce(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1))(effect@3.17.14)(studiocms@https://pkg.pr.new/withstudiocms/studiocms@eb7a3ce(8ed8ce9f8a8227c0c743f0f77e40a609))(vite@6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1))': dependencies: astro: 5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1) astro-integration-kit: 0.19.1(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1)) codemirror: 5.65.19 effect: 3.17.14 katex: 0.16.25 - studiocms: https://pkg.pr.new/withstudiocms/studiocms@05baab6(8ed8ce9f8a8227c0c743f0f77e40a609) + studiocms: https://pkg.pr.new/withstudiocms/studiocms@eb7a3ce(8ed8ce9f8a8227c0c743f0f77e40a609) suneditor: 2.47.8 vite: 6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1) - '@studiocms/markdoc@https://pkg.pr.new/withstudiocms/studiocms/@studiocms/markdoc@05baab6(@studiocms/md@https://pkg.pr.new/withstudiocms/studiocms/@studiocms/md@05baab6(@astrojs/markdown-remark@6.3.7)(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1))(effect@3.17.14)(studiocms@https://pkg.pr.new/withstudiocms/studiocms@05baab6(8ed8ce9f8a8227c0c743f0f77e40a609))(vite@6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1)))(@types/react@19.1.13)(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1))(effect@3.17.14)(studiocms@https://pkg.pr.new/withstudiocms/studiocms@05baab6(8ed8ce9f8a8227c0c743f0f77e40a609))(vite@6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1))': + '@studiocms/markdoc@https://pkg.pr.new/withstudiocms/studiocms/@studiocms/markdoc@eb7a3ce(@studiocms/md@https://pkg.pr.new/withstudiocms/studiocms/@studiocms/md@eb7a3ce(@astrojs/markdown-remark@6.3.7)(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1))(effect@3.17.14)(studiocms@https://pkg.pr.new/withstudiocms/studiocms@eb7a3ce(8ed8ce9f8a8227c0c743f0f77e40a609))(vite@6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1)))(@types/react@19.1.13)(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1))(effect@3.17.14)(studiocms@https://pkg.pr.new/withstudiocms/studiocms@eb7a3ce(8ed8ce9f8a8227c0c743f0f77e40a609))(vite@6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1))': dependencies: '@markdoc/markdoc': 0.5.4(@types/react@19.1.13)(react@19.2.0) - '@studiocms/md': https://pkg.pr.new/withstudiocms/studiocms/@studiocms/md@05baab6(@astrojs/markdown-remark@6.3.7)(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1))(effect@3.17.14)(studiocms@https://pkg.pr.new/withstudiocms/studiocms@05baab6(8ed8ce9f8a8227c0c743f0f77e40a609))(vite@6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1)) + '@studiocms/md': https://pkg.pr.new/withstudiocms/studiocms/@studiocms/md@eb7a3ce(@astrojs/markdown-remark@6.3.7)(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1))(effect@3.17.14)(studiocms@https://pkg.pr.new/withstudiocms/studiocms@eb7a3ce(8ed8ce9f8a8227c0c743f0f77e40a609))(vite@6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1)) astro: 5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1) astro-integration-kit: 0.19.1(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1)) effect: 3.17.14 react: 19.2.0 react-dom: 19.2.0(react@19.2.0) - studiocms: https://pkg.pr.new/withstudiocms/studiocms@05baab6(8ed8ce9f8a8227c0c743f0f77e40a609) + studiocms: https://pkg.pr.new/withstudiocms/studiocms@eb7a3ce(8ed8ce9f8a8227c0c743f0f77e40a609) vite: 6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1) transitivePeerDependencies: - '@types/react' @@ -7047,22 +7055,22 @@ snapshots: transitivePeerDependencies: - supports-color - '@studiocms/md@https://pkg.pr.new/withstudiocms/studiocms/@studiocms/md@05baab6(@astrojs/markdown-remark@6.3.7)(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1))(effect@3.17.14)(studiocms@https://pkg.pr.new/withstudiocms/studiocms@05baab6(8ed8ce9f8a8227c0c743f0f77e40a609))(vite@6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1))': + '@studiocms/md@https://pkg.pr.new/withstudiocms/studiocms/@studiocms/md@eb7a3ce(@astrojs/markdown-remark@6.3.7)(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1))(effect@3.17.14)(studiocms@https://pkg.pr.new/withstudiocms/studiocms@eb7a3ce(8ed8ce9f8a8227c0c743f0f77e40a609))(vite@6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1))': dependencies: '@astrojs/markdown-remark': 6.3.7 '@studiocms/markdown-remark-processor': 1.2.0 astro: 5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1) astro-integration-kit: 0.19.1(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1)) effect: 3.17.14 - studiocms: https://pkg.pr.new/withstudiocms/studiocms@05baab6(8ed8ce9f8a8227c0c743f0f77e40a609) + studiocms: https://pkg.pr.new/withstudiocms/studiocms@eb7a3ce(8ed8ce9f8a8227c0c743f0f77e40a609) vite: 6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1) transitivePeerDependencies: - supports-color - '@studiocms/mdx@https://pkg.pr.new/withstudiocms/studiocms/@studiocms/mdx@05baab6(@studiocms/md@https://pkg.pr.new/withstudiocms/studiocms/@studiocms/md@05baab6(@astrojs/markdown-remark@6.3.7)(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1))(effect@3.17.14)(studiocms@https://pkg.pr.new/withstudiocms/studiocms@05baab6(8ed8ce9f8a8227c0c743f0f77e40a609))(vite@6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1)))(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1))(effect@3.17.14)(studiocms@https://pkg.pr.new/withstudiocms/studiocms@05baab6(8ed8ce9f8a8227c0c743f0f77e40a609))(vite@6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1))': + '@studiocms/mdx@https://pkg.pr.new/withstudiocms/studiocms/@studiocms/mdx@eb7a3ce(@studiocms/md@https://pkg.pr.new/withstudiocms/studiocms/@studiocms/md@eb7a3ce(@astrojs/markdown-remark@6.3.7)(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1))(effect@3.17.14)(studiocms@https://pkg.pr.new/withstudiocms/studiocms@eb7a3ce(8ed8ce9f8a8227c0c743f0f77e40a609))(vite@6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1)))(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1))(effect@3.17.14)(studiocms@https://pkg.pr.new/withstudiocms/studiocms@eb7a3ce(8ed8ce9f8a8227c0c743f0f77e40a609))(vite@6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1))': dependencies: '@mdx-js/mdx': 3.1.1 - '@studiocms/md': https://pkg.pr.new/withstudiocms/studiocms/@studiocms/md@05baab6(@astrojs/markdown-remark@6.3.7)(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1))(effect@3.17.14)(studiocms@https://pkg.pr.new/withstudiocms/studiocms@05baab6(8ed8ce9f8a8227c0c743f0f77e40a609))(vite@6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1)) + '@studiocms/md': https://pkg.pr.new/withstudiocms/studiocms/@studiocms/md@eb7a3ce(@astrojs/markdown-remark@6.3.7)(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1))(effect@3.17.14)(studiocms@https://pkg.pr.new/withstudiocms/studiocms@eb7a3ce(8ed8ce9f8a8227c0c743f0f77e40a609))(vite@6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1)) astro: 5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1) astro-integration-kit: 0.19.1(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1)) effect: 3.17.14 @@ -7070,7 +7078,7 @@ snapshots: react-dom: 19.2.0(react@19.2.0) rehype-highlight: 7.0.2 remark-gfm: 4.0.1 - studiocms: https://pkg.pr.new/withstudiocms/studiocms@05baab6(8ed8ce9f8a8227c0c743f0f77e40a609) + studiocms: https://pkg.pr.new/withstudiocms/studiocms@eb7a3ce(8ed8ce9f8a8227c0c743f0f77e40a609) unified: 11.0.5 vite: 6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1) transitivePeerDependencies: @@ -7090,15 +7098,15 @@ snapshots: '@astrojs/db': 0.18.0(kysely@0.28.8)(mysql2@3.15.3)(pg@8.16.3) web-vitals: 5.1.0 - '@studiocms/wysiwyg@https://pkg.pr.new/withstudiocms/studiocms/@studiocms/wysiwyg@05baab6(@studiocms/ui@1.0.0-beta.4(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1))(vite@6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1)))(@withstudiocms/component-registry@https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/component-registry@05baab6(c4a97722045c625718e5b56c61d9382d))(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1))(studiocms@https://pkg.pr.new/withstudiocms/studiocms@05baab6(8ed8ce9f8a8227c0c743f0f77e40a609))(vite@6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1))': + '@studiocms/wysiwyg@https://pkg.pr.new/withstudiocms/studiocms/@studiocms/wysiwyg@eb7a3ce(@studiocms/ui@1.0.0-beta.4(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1))(vite@6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1)))(@withstudiocms/component-registry@https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/component-registry@eb7a3ce(c4a97722045c625718e5b56c61d9382d))(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1))(studiocms@https://pkg.pr.new/withstudiocms/studiocms@eb7a3ce(8ed8ce9f8a8227c0c743f0f77e40a609))(vite@6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1))': dependencies: '@studiocms/ui': 1.0.0-beta.4(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1))(vite@6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1)) - '@withstudiocms/component-registry': https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/component-registry@05baab6(c4a97722045c625718e5b56c61d9382d) + '@withstudiocms/component-registry': https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/component-registry@eb7a3ce(c4a97722045c625718e5b56c61d9382d) astro: 5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1) astro-integration-kit: 0.19.1(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1)) deepmerge-ts: 7.1.5 grapesjs: 0.22.14 - studiocms: https://pkg.pr.new/withstudiocms/studiocms@05baab6(8ed8ce9f8a8227c0c743f0f77e40a609) + studiocms: https://pkg.pr.new/withstudiocms/studiocms@eb7a3ce(8ed8ce9f8a8227c0c743f0f77e40a609) tui-image-editor: 3.15.3 vite: 6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1) transitivePeerDependencies: @@ -7316,12 +7324,12 @@ snapshots: '@vscode/l10n@0.0.18': {} - '@withstudiocms/auth-kit@https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/auth-kit@05baab6b8bb28c994f9aaa1c4f1e40af7c5cc0df(c4a97722045c625718e5b56c61d9382d)': + '@withstudiocms/auth-kit@https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/auth-kit@eb7a3ceaf585cd672537d00a06613c408a2eda21(c4a97722045c625718e5b56c61d9382d)': dependencies: '@oslojs/binary': 1.0.0 '@oslojs/crypto': 1.0.1 '@oslojs/encoding': 1.1.0 - '@withstudiocms/effect': https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/effect@05baab6b8bb28c994f9aaa1c4f1e40af7c5cc0df(c4a97722045c625718e5b56c61d9382d) + '@withstudiocms/effect': https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/effect@eb7a3ceaf585cd672537d00a06613c408a2eda21(c4a97722045c625718e5b56c61d9382d) astro: 5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1) transitivePeerDependencies: - '@effect/cli' @@ -7347,9 +7355,9 @@ snapshots: tinyexec: 1.0.1 wrap-ansi: 9.0.2 - '@withstudiocms/component-registry@https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/component-registry@05baab6(c4a97722045c625718e5b56c61d9382d)': + '@withstudiocms/component-registry@https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/component-registry@eb7a3ce(c4a97722045c625718e5b56c61d9382d)': dependencies: - '@withstudiocms/effect': https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/effect@05baab6b8bb28c994f9aaa1c4f1e40af7c5cc0df(c4a97722045c625718e5b56c61d9382d) + '@withstudiocms/effect': https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/effect@eb7a3ceaf585cd672537d00a06613c408a2eda21(c4a97722045c625718e5b56c61d9382d) astro: 5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1) astro-integration-kit: 0.19.1(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1)) ts-morph: 27.0.2 @@ -7360,9 +7368,9 @@ snapshots: - '@effect/platform-node' - effect - '@withstudiocms/component-registry@https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/component-registry@05baab6b8bb28c994f9aaa1c4f1e40af7c5cc0df(c4a97722045c625718e5b56c61d9382d)': + '@withstudiocms/component-registry@https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/component-registry@eb7a3ceaf585cd672537d00a06613c408a2eda21(c4a97722045c625718e5b56c61d9382d)': dependencies: - '@withstudiocms/effect': https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/effect@05baab6b8bb28c994f9aaa1c4f1e40af7c5cc0df(c4a97722045c625718e5b56c61d9382d) + '@withstudiocms/effect': https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/effect@eb7a3ceaf585cd672537d00a06613c408a2eda21(c4a97722045c625718e5b56c61d9382d) astro: 5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1) astro-integration-kit: 0.19.1(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1)) ts-morph: 27.0.2 @@ -7373,14 +7381,14 @@ snapshots: - '@effect/platform-node' - effect - '@withstudiocms/config-utils@https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/config-utils@05baab6b8bb28c994f9aaa1c4f1e40af7c5cc0df(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1))': + '@withstudiocms/config-utils@https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/config-utils@eb7a3ceaf585cd672537d00a06613c408a2eda21(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1))': dependencies: astro: 5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1) astro-integration-kit: 0.19.1(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1)) deepmerge-ts: 7.1.5 esbuild: 0.25.10 - '@withstudiocms/effect@https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/effect@05baab6b8bb28c994f9aaa1c4f1e40af7c5cc0df(c4a97722045c625718e5b56c61d9382d)': + '@withstudiocms/effect@https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/effect@eb7a3ceaf585cd672537d00a06613c408a2eda21(c4a97722045c625718e5b56c61d9382d)': dependencies: '@clack/prompts': 0.11.0 '@effect/cli': 0.69.2(@effect/platform@0.90.10(effect@3.17.14))(@effect/printer-ansi@0.45.0(@effect/typeclass@0.36.0(effect@3.17.14))(effect@3.17.14))(@effect/printer@0.45.0(@effect/typeclass@0.36.0(effect@3.17.14))(effect@3.17.14))(effect@3.17.14) @@ -7393,7 +7401,7 @@ snapshots: nodemailer: 7.0.11 socks: 2.8.7 - '@withstudiocms/internal_helpers@https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/internal_helpers@05baab6b8bb28c994f9aaa1c4f1e40af7c5cc0df(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1))': + '@withstudiocms/internal_helpers@https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/internal_helpers@eb7a3ceaf585cd672537d00a06613c408a2eda21(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1))': dependencies: astro: 5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1) astro-integration-kit: 0.19.1(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1)) @@ -7403,7 +7411,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@withstudiocms/kysely@https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/kysely@05baab6(@libsql/client@0.15.15)(effect@3.17.14)(mysql2@3.15.3)(pg@8.16.3)': + '@withstudiocms/kysely@https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/kysely@eb7a3ce(@libsql/client@0.15.15)(effect@3.17.14)(mysql2@3.15.3)(pg@8.16.3)': dependencies: '@libsql/client': 0.15.15 '@libsql/kysely-libsql': 0.4.1(kysely@0.28.8) @@ -7415,7 +7423,7 @@ snapshots: - bufferutil - utf-8-validate - '@withstudiocms/kysely@https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/kysely@05baab6b8bb28c994f9aaa1c4f1e40af7c5cc0df(@libsql/client@0.15.15)(effect@3.17.14)(mysql2@3.15.3)(pg@8.16.3)': + '@withstudiocms/kysely@https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/kysely@eb7a3ceaf585cd672537d00a06613c408a2eda21(@libsql/client@0.15.15)(effect@3.17.14)(mysql2@3.15.3)(pg@8.16.3)': dependencies: '@libsql/client': 0.15.15 '@libsql/kysely-libsql': 0.4.1(kysely@0.28.8) @@ -7427,15 +7435,15 @@ snapshots: - bufferutil - utf-8-validate - '@withstudiocms/sdk@https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/sdk@05baab6b8bb28c994f9aaa1c4f1e40af7c5cc0df(@withstudiocms/effect@https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/effect@05baab6b8bb28c994f9aaa1c4f1e40af7c5cc0df(c4a97722045c625718e5b56c61d9382d))(@withstudiocms/kysely@https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/kysely@05baab6(@libsql/client@0.15.15)(effect@3.17.14)(mysql2@3.15.3)(pg@8.16.3))': + '@withstudiocms/sdk@https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/sdk@eb7a3ceaf585cd672537d00a06613c408a2eda21(@withstudiocms/effect@https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/effect@eb7a3ceaf585cd672537d00a06613c408a2eda21(c4a97722045c625718e5b56c61d9382d))(@withstudiocms/kysely@https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/kysely@eb7a3ce(@libsql/client@0.15.15)(effect@3.17.14)(mysql2@3.15.3)(pg@8.16.3))': dependencies: - '@withstudiocms/effect': https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/effect@05baab6b8bb28c994f9aaa1c4f1e40af7c5cc0df(c4a97722045c625718e5b56c61d9382d) - '@withstudiocms/kysely': https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/kysely@05baab6(@libsql/client@0.15.15)(effect@3.17.14)(mysql2@3.15.3)(pg@8.16.3) + '@withstudiocms/effect': https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/effect@eb7a3ceaf585cd672537d00a06613c408a2eda21(c4a97722045c625718e5b56c61d9382d) + '@withstudiocms/kysely': https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/kysely@eb7a3ce(@libsql/client@0.15.15)(effect@3.17.14)(mysql2@3.15.3)(pg@8.16.3) diff: 8.0.2 diff2html: 3.4.52 zod: 3.25.76 - '@withstudiocms/template-lang@https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/template-lang@05baab6b8bb28c994f9aaa1c4f1e40af7c5cc0df': {} + '@withstudiocms/template-lang@https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/template-lang@eb7a3ceaf585cd672537d00a06613c408a2eda21': {} abab@2.0.6: optional: true @@ -10607,24 +10615,26 @@ snapshots: strnum@2.1.1: {} - studiocms@https://pkg.pr.new/withstudiocms/studiocms@05baab6(8ed8ce9f8a8227c0c743f0f77e40a609): + studiocms@https://pkg.pr.new/withstudiocms/studiocms@eb7a3ce(8ed8ce9f8a8227c0c743f0f77e40a609): dependencies: '@iconify-json/circle-flags': 1.2.10 '@iconify-json/flat-color-icons': 1.2.3 '@iconify-json/simple-icons': 1.2.61 '@inox-tools/runtime-logger': 0.7.0(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1)) + '@libsql/client': 0.15.15 '@nanostores/i18n': 1.2.2(nanostores@1.1.0) '@nanostores/persistent': 1.2.0(nanostores@1.1.0) + '@outerbase/sdk-transform': 1.0.8 '@studiocms/ui': 1.0.0-beta.4(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1))(vite@6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1)) - '@withstudiocms/auth-kit': https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/auth-kit@05baab6b8bb28c994f9aaa1c4f1e40af7c5cc0df(c4a97722045c625718e5b56c61d9382d) + '@withstudiocms/auth-kit': https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/auth-kit@eb7a3ceaf585cd672537d00a06613c408a2eda21(c4a97722045c625718e5b56c61d9382d) '@withstudiocms/cli-kit': 0.1.0 - '@withstudiocms/component-registry': https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/component-registry@05baab6b8bb28c994f9aaa1c4f1e40af7c5cc0df(c4a97722045c625718e5b56c61d9382d) - '@withstudiocms/config-utils': https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/config-utils@05baab6b8bb28c994f9aaa1c4f1e40af7c5cc0df(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1)) - '@withstudiocms/effect': https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/effect@05baab6b8bb28c994f9aaa1c4f1e40af7c5cc0df(c4a97722045c625718e5b56c61d9382d) - '@withstudiocms/internal_helpers': https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/internal_helpers@05baab6b8bb28c994f9aaa1c4f1e40af7c5cc0df(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1)) - '@withstudiocms/kysely': https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/kysely@05baab6b8bb28c994f9aaa1c4f1e40af7c5cc0df(@libsql/client@0.15.15)(effect@3.17.14)(mysql2@3.15.3)(pg@8.16.3) - '@withstudiocms/sdk': https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/sdk@05baab6b8bb28c994f9aaa1c4f1e40af7c5cc0df(@withstudiocms/effect@https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/effect@05baab6b8bb28c994f9aaa1c4f1e40af7c5cc0df(c4a97722045c625718e5b56c61d9382d))(@withstudiocms/kysely@https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/kysely@05baab6(@libsql/client@0.15.15)(effect@3.17.14)(mysql2@3.15.3)(pg@8.16.3)) - '@withstudiocms/template-lang': https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/template-lang@05baab6b8bb28c994f9aaa1c4f1e40af7c5cc0df + '@withstudiocms/component-registry': https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/component-registry@eb7a3ceaf585cd672537d00a06613c408a2eda21(c4a97722045c625718e5b56c61d9382d) + '@withstudiocms/config-utils': https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/config-utils@eb7a3ceaf585cd672537d00a06613c408a2eda21(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1)) + '@withstudiocms/effect': https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/effect@eb7a3ceaf585cd672537d00a06613c408a2eda21(c4a97722045c625718e5b56c61d9382d) + '@withstudiocms/internal_helpers': https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/internal_helpers@eb7a3ceaf585cd672537d00a06613c408a2eda21(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1)) + '@withstudiocms/kysely': https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/kysely@eb7a3ceaf585cd672537d00a06613c408a2eda21(@libsql/client@0.15.15)(effect@3.17.14)(mysql2@3.15.3)(pg@8.16.3) + '@withstudiocms/sdk': https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/sdk@eb7a3ceaf585cd672537d00a06613c408a2eda21(@withstudiocms/effect@https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/effect@eb7a3ceaf585cd672537d00a06613c408a2eda21(c4a97722045c625718e5b56c61d9382d))(@withstudiocms/kysely@https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/kysely@eb7a3ce(@libsql/client@0.15.15)(effect@3.17.14)(mysql2@3.15.3)(pg@8.16.3)) + '@withstudiocms/template-lang': https://pkg.pr.new/withstudiocms/studiocms/@withstudiocms/template-lang@eb7a3ceaf585cd672537d00a06613c408a2eda21 ace-builds: 1.43.4 astro: 5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1) astro-integration-kit: 0.19.1(astro@5.13.11(@types/node@24.5.2)(jiti@2.6.0)(rollup@4.52.2)(typescript@5.9.2)(yaml@2.8.1)) @@ -10641,21 +10651,21 @@ snapshots: micromark: 4.0.2 micromark-extension-gfm: 3.0.0 mrmime: 2.0.1 + mysql2: 3.15.3 nanostores: 1.1.0 package-manager-detector: 1.6.0 + pg: 8.16.3 semver: 7.7.3 three: 0.170.0 tinyglobby: 0.2.15 ultrahtml: 1.6.0 vite: 6.3.6(@types/node@24.5.2)(jiti@2.6.0)(yaml@2.8.1) + web-vitals: 5.1.0 transitivePeerDependencies: - '@effect/cli' - '@effect/platform' - '@effect/platform-node' - - '@libsql/client' - bufferutil - - mysql2 - - pg - supports-color - utf-8-validate diff --git a/src/content/docs/en/config-reference/features.mdx b/src/content/docs/en/config-reference/features.mdx index 244b7369..d55b34c8 100644 --- a/src/content/docs/en/config-reference/features.mdx +++ b/src/content/docs/en/config-reference/features.mdx @@ -377,4 +377,23 @@ export default defineStudioCMSConfig({ preferredImageService: 'cloudinary-js' } }) +``` + +## `webVitals` + +`webVitals` Allows enabling or disabling of Web Vitals tracking + +- **Type:** `boolean` +- **Default:** `false` + +### Usage + +```ts twoslash {3} title="studiocms.config.mjs" +import { defineStudioCMSConfig } from 'studiocms/config'; +// ---cut--- +export default defineStudioCMSConfig({ + features: { + webVitals: true + } +}) ``` \ No newline at end of file diff --git a/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-31.mdx b/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-31.mdx index a6f915fa..5ecc0a3c 100644 --- a/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-31.mdx +++ b/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-31.mdx @@ -30,6 +30,13 @@ StudioCMS `0.1.0-beta.31` introduces significant changes, including a new Kysely - New plugin features: - Dynamic components and scripts injection to the dashboard via new plugin hooks. - New db helpers for easier database access within plugins. +- Introduced new Dashboard page for managing the System management. + - Includes a System info (debug) panel + - Provides quick access to your database tables while in production. +- Added the new developer toolbar app built-in to StudioCMS for viewing and managing your database while in development mode. +- Integrated optional web-vitals/analytics tracking into the dashboard for better performance insights. + - This can be enabled via the [`features.webVitals`](/en/config-reference/features/#webvitals) config option. + - For those who previously used the `@studiocms/web-vitals` or `@astrojs/web-vitals` integrations, this is now built-in and can be configured via the StudioCMS config. ## Bug Fixes & Improvements - Updated ghost user image url. @@ -37,6 +44,7 @@ StudioCMS `0.1.0-beta.31` introduces significant changes, including a new Kysely - Refactored and simplified dashboard layout components. - Improved StudioCMS config types and JSDoc comments. - Refactored CLI commands to use new database layer. +- Introduced new debug utilities for easier access to helpful debug information. (to be expanded to the CLI and Astro dev toolbar in the future) ## Migration Steps @@ -51,6 +59,16 @@ To upgrade your StudioCMS project to version `0.1.0-beta.31`, please follow thes 3. **Review your `studiocms.config.mjs` file** to ensure all configuration options are correctly set according to the new schema. Refer to the [Config Reference](/en/start-here/configuration/) for details. + - **Previously used `@studiocms/web-vitals` or `@astrojs/web-vitals` integrations?** Remove them from your project dependencies and configure the built-in web vitals tracking via the `features.webVitals` option in your `studiocms.config.mjs` file: + + ```ts {3} title="studiocms.config.mjs" + export default defineStudioCMSConfig({ + features: { + webVitals: true, + }, + }); + ``` + 4. **Setup a new database connection for the new Kysely based database layer.** Update your `.env` file with the necessary database connection details. Keep your previous database intact for migration. Refer to the [Database Setup Guide](/en/start-here/getting-started/#prepare-your-database) for more information on configuring your database. @@ -58,9 +76,7 @@ To upgrade your StudioCMS project to version `0.1.0-beta.31`, please follow thes 5. **Configure your database dialect in `studiocms.config.mjs` under the `db` option. For example, to use libSQL:** - ```ts twoslash {3} title="studiocms.config.mjs" - import { defineStudioCMSConfig } from 'studiocms/config'; - // ---cut--- + ```ts {3} title="studiocms.config.mjs" export default defineStudioCMSConfig({ db: { dialect: 'libsql', // or 'postgresql', 'mysql' From b089c9388bedc5a1ac496a93876f20e3016d271b Mon Sep 17 00:00:00 2001 From: Adam Matthiesen Date: Mon, 8 Dec 2025 18:46:28 -0800 Subject: [PATCH 17/71] fix: refine debug utilities description in upgrade guide for version 0.1.0-beta.31 --- .../docs/en/guides/upgrade/version-guides/0-1-0-beta-31.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-31.mdx b/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-31.mdx index 5ecc0a3c..a9d56fb3 100644 --- a/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-31.mdx +++ b/src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-31.mdx @@ -44,7 +44,7 @@ StudioCMS `0.1.0-beta.31` introduces significant changes, including a new Kysely - Refactored and simplified dashboard layout components. - Improved StudioCMS config types and JSDoc comments. - Refactored CLI commands to use new database layer. -- Introduced new debug utilities for easier access to helpful debug information. (to be expanded to the CLI and Astro dev toolbar in the future) +- Introduced new debug utilities for easier access to helpful debug information. ## Migration Steps From cd747264aaa8cb55ab54fcc8a297f6940d0e5336 Mon Sep 17 00:00:00 2001 From: Adam Matthiesen Date: Mon, 8 Dec 2025 19:33:23 -0800 Subject: [PATCH 18/71] feat: update StarlightPage integration and adjust frontmatter in various pages --- .vscode/settings.json | 1 + astro.config.mts | 2 +- src/pages/404.astro | 2 +- src/pages/[...enRedirectSlug].astro | 9 +++++++-- src/pages/[lang]/guides/upgrade/latest.astro | 6 ++++-- src/pages/index.astro | 6 ++++-- 6 files changed, 18 insertions(+), 8 deletions(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index 27bf3d7f..c2367d1c 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -6,6 +6,7 @@ "Coolify", "devapps", "foldertree", + "frontmatter", "genpkey", "Iconify", "inox", diff --git a/astro.config.mts b/astro.config.mts index 70761280..272824a4 100644 --- a/astro.config.mts +++ b/astro.config.mts @@ -54,7 +54,7 @@ export default defineConfig({ rehypePlugins, remarkPlugins: [remarkFallbackLang()], }, - trailingSlash: 'always', + trailingSlash: 'ignore', integrations: [ devServerFileWatcher([ './hostUtils.ts', diff --git a/src/pages/404.astro b/src/pages/404.astro index 77fcd995..27730a06 100644 --- a/src/pages/404.astro +++ b/src/pages/404.astro @@ -3,7 +3,7 @@ import { Button } from 'studiocms:ui/components'; import StarlightPage from '@astrojs/starlight/components/StarlightPage.astro'; --- - +
diff --git a/src/pages/[...enRedirectSlug].astro b/src/pages/[...enRedirectSlug].astro index 0d5e4fc0..c92a1301 100644 --- a/src/pages/[...enRedirectSlug].astro +++ b/src/pages/[...enRedirectSlug].astro @@ -1,5 +1,6 @@ --- // Redirect from base to /en/ pages +import StarlightPage from '@astrojs/starlight/components/StarlightPage.astro'; import { englishPages } from '~/content'; import { stripLangFromSlug } from '~/util/path-utils'; @@ -10,11 +11,15 @@ export async function getStaticPaths() { enRedirectSlug: stripLangFromSlug(page.id), }, props: { + title: page.data.title, englishSlug: page.id, }, }; }); } ---- - \ No newline at end of file +const { title, englishSlug } = Astro.props; +--- + + + \ No newline at end of file diff --git a/src/pages/[lang]/guides/upgrade/latest.astro b/src/pages/[lang]/guides/upgrade/latest.astro index a98707d3..180a55a8 100644 --- a/src/pages/[lang]/guides/upgrade/latest.astro +++ b/src/pages/[lang]/guides/upgrade/latest.astro @@ -1,4 +1,5 @@ --- +import StarlightPage from '@astrojs/starlight/components/StarlightPage.astro'; import { Translations } from '../../../../starlight-sidebar/availTranslations'; import semver from 'semver'; @@ -98,5 +99,6 @@ for (let i = 0; i < semverVersions.length; i++) { // Use original format from the versions array const latestOriginal = versions[latestIndex]; --- - - \ No newline at end of file + + + \ No newline at end of file diff --git a/src/pages/index.astro b/src/pages/index.astro index 5cb49680..9ca8b965 100644 --- a/src/pages/index.astro +++ b/src/pages/index.astro @@ -1,4 +1,5 @@ --- +import StarlightPage from '@astrojs/starlight/components/StarlightPage.astro'; /* NOTE: The following code used to be included in a script tag on the page. However, our english translations are now far more developed than any other language. @@ -7,5 +8,6 @@ to different language automatic redirects once they hit a certain quality thresh Until then, we'll just only redirect to english for now, with the meta tag below */ --- - - \ No newline at end of file + + + \ No newline at end of file From eb1873c4fa7a441310b82ef59bd5e91aca05a9a3 Mon Sep 17 00:00:00 2001 From: Adam Matthiesen Date: Mon, 8 Dec 2025 20:01:48 -0800 Subject: [PATCH 19/71] feat: add AdBanner component and integrate it into the PageSidebar layout --- astro.config.mts | 16 ++- src/starlightOverrides/AdBanner.astro | 121 +++++++++++++++++++++++ src/starlightOverrides/PageSidebar.astro | 75 ++++++++++++++ 3 files changed, 207 insertions(+), 5 deletions(-) create mode 100644 src/starlightOverrides/AdBanner.astro create mode 100644 src/starlightOverrides/PageSidebar.astro diff --git a/astro.config.mts b/astro.config.mts index 272824a4..3a661f69 100644 --- a/astro.config.mts +++ b/astro.config.mts @@ -19,9 +19,8 @@ const linkValidator = process.env.CHECK_LINKS starlightLinksValidator({ errorOnFallbackPages: false, errorOnInconsistentLocale: true, - // Exclude TypeDoc paths as they contain auto-generated content with many internal links // Exclude the dynamically generated latest guide redirect page - exclude: ['/*/typedoc/**/*', '/*/guides/upgrade/latest/'], + exclude: ['/*/guides/upgrade/latest/'], }), ] : []; @@ -54,7 +53,6 @@ export default defineConfig({ rehypePlugins, remarkPlugins: [remarkFallbackLang()], }, - trailingSlash: 'ignore', integrations: [ devServerFileWatcher([ './hostUtils.ts', @@ -70,11 +68,13 @@ export default defineConfig({ ui(), starlight({ title: 'StudioCMS', - description: 'A dedicated CMS for Astro. Built from the ground up by the Astro community.', + description: + 'Dedicated SSR Astro native Headless CMS, build from the ground up for the Astro community and by Astro community members.', favicon: '/logo-light.svg', lastUpdated: true, credits: true, - tagline: 'A dedicated CMS for Astro. Built from the ground up by the Astro community.', + tagline: + 'Dedicated SSR Astro native Headless CMS, build from the ground up for the Astro community and by Astro community members.', disable404Route: true, pagefind: false, components: { @@ -83,6 +83,7 @@ export default defineConfig({ Sidebar: './src/starlightOverrides/Sidebar.astro', Head: './src/starlightOverrides/Head.astro', Search: './src/starlightOverrides/Search.astro', + PageSidebar: './src/starlightOverrides/PageSidebar.astro', }, logo: { dark: './assets/logo-light.svg', @@ -101,6 +102,11 @@ export default defineConfig({ icon: 'openCollective', href: 'https://opencollective.com/StudioCMS', }, + { + label: 'Thanks.dev', + icon: 'seti:json', + href: 'https://thanks.dev/u/gh/withstudiocms', + }, ], customCss: [ '@studiocms/ui/css/global.css', diff --git a/src/starlightOverrides/AdBanner.astro b/src/starlightOverrides/AdBanner.astro new file mode 100644 index 00000000..b88e26dd --- /dev/null +++ b/src/starlightOverrides/AdBanner.astro @@ -0,0 +1,121 @@ +--- +import { Image } from 'astro:assets'; +import StudioCMSLogo from '../assets/logos/studioCMS.png'; +import { LinkButton } from '@astrojs/starlight/components'; + +const hostingerUrl = + 'https://www.hostinger.com/cart?product=vps%3Avps_kvm_2&period=12&referral_type=cart_link&REFERRALCODE=FSMAMATTH73C&referral_id=019b013c-6b5c-7321-842a-aa21eef07473'; + +const headingId = `studiocms-hostinger-ad-${Math.random().toString(36).substring(2, 9)}`; +--- +
+ +
+ \ No newline at end of file diff --git a/src/starlightOverrides/PageSidebar.astro b/src/starlightOverrides/PageSidebar.astro new file mode 100644 index 00000000..115cb3d2 --- /dev/null +++ b/src/starlightOverrides/PageSidebar.astro @@ -0,0 +1,75 @@ +--- +// @ts-expect-error +import MobileTableOfContents from 'virtual:starlight/components/MobileTableOfContents'; +// @ts-expect-error +import TableOfContents from 'virtual:starlight/components/TableOfContents'; +import AdBanner from './AdBanner.astro'; +--- + +{ + Astro.locals.starlightRoute.toc && ( + <> +
+ +
+ + + ) +} + + \ No newline at end of file From 083752c619eedca9c41e0c6c2bab7f623b323dba Mon Sep 17 00:00:00 2001 From: Adam Matthiesen Date: Mon, 8 Dec 2025 20:02:39 -0800 Subject: [PATCH 20/71] fix: remove unused imports from AdBanner component --- src/starlightOverrides/AdBanner.astro | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/starlightOverrides/AdBanner.astro b/src/starlightOverrides/AdBanner.astro index b88e26dd..cbb37ae0 100644 --- a/src/starlightOverrides/AdBanner.astro +++ b/src/starlightOverrides/AdBanner.astro @@ -1,6 +1,4 @@ --- -import { Image } from 'astro:assets'; -import StudioCMSLogo from '../assets/logos/studioCMS.png'; import { LinkButton } from '@astrojs/starlight/components'; const hostingerUrl = From 5defd54318e71f5c654daf15f7d0f29e911050fd Mon Sep 17 00:00:00 2001 From: Adam Matthiesen Date: Mon, 8 Dec 2025 20:05:30 -0800 Subject: [PATCH 21/71] fix: update border color in AdBanner component to use accent color --- src/starlightOverrides/AdBanner.astro | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/starlightOverrides/AdBanner.astro b/src/starlightOverrides/AdBanner.astro index cbb37ae0..8114a52b 100644 --- a/src/starlightOverrides/AdBanner.astro +++ b/src/starlightOverrides/AdBanner.astro @@ -34,7 +34,7 @@ const headingId = `studiocms-hostinger-ad-${Math.random().toString(36).substring } aside { margin-top: 2rem; - border: 1px solid var(--sl-color-purple); + border: 1px solid var(--sl-color-accent); border-radius: 0.5rem; padding: 1rem; background-color: var(--sl-color-gray-6); From a751470c39828b18be5cb62b6faf6336692fca24 Mon Sep 17 00:00:00 2001 From: Adam Matthiesen Date: Mon, 8 Dec 2025 20:50:20 -0800 Subject: [PATCH 22/71] feat: add initial nginx configuration file --- nginx.conf | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 nginx.conf diff --git a/nginx.conf b/nginx.conf new file mode 100644 index 00000000..17e33bf2 --- /dev/null +++ b/nginx.conf @@ -0,0 +1,14 @@ +server { + listen 80; + root /usr/share/nginx/html; + index index.html index.htm; + + location / { + try_files $uri $uri/ =404; + } + + error_page 404 /404.html; + location = /404.html { + internal; + } +} \ No newline at end of file From 309b2ade28e98ef6f09a38a27d036b0b8686315d Mon Sep 17 00:00:00 2001 From: Adam Matthiesen Date: Mon, 8 Dec 2025 20:52:24 -0800 Subject: [PATCH 23/71] fix: remove unused start script from package.json --- package.json | 1 - 1 file changed, 1 deletion(-) diff --git a/package.json b/package.json index 4fc9e459..592664dd 100644 --- a/package.json +++ b/package.json @@ -8,7 +8,6 @@ }, "scripts": { "dev": "pnpm gen-changelogs && astro dev", - "start": "astro dev", "check": "astro check", "build": "pnpm gen-changelogs && astro build", "preview": "astro preview", From 42367830a1bc42626c9dbc0e629bf4e3e4daa1c4 Mon Sep 17 00:00:00 2001 From: Adam Matthiesen Date: Mon, 8 Dec 2025 21:07:13 -0800 Subject: [PATCH 24/71] feat: add nixpacks configuration for Node.js and Nginx setup --- nixpacks.toml | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 nixpacks.toml diff --git a/nixpacks.toml b/nixpacks.toml new file mode 100644 index 00000000..e4a9d13d --- /dev/null +++ b/nixpacks.toml @@ -0,0 +1,19 @@ +[phases.setup] +nixPkgs = ["nodejs_22", "pnpm-9_x", "openssl"] + +[phases.install] +cmds = [ + "npm install -g corepack@0.24.1 && corepack enable" + "pnpm i --frozen-lockfile" +] + +[phases.build] +cmds = [ + "mkdir -p /etc/nginx/conf.d", + "cp ./nginx.conf /etc/nginx/nginx.conf", + "pnpm run build" +] + +[start] +# Command to start Nginx in the foreground +cmd = "nginx -g 'daemon off;'" \ No newline at end of file From 60fe79e652d59197a84873d43a9e503a606c186b Mon Sep 17 00:00:00 2001 From: Adam Matthiesen Date: Mon, 8 Dec 2025 21:09:54 -0800 Subject: [PATCH 25/71] fix: correct formatting in nginx.conf and nixpacks.toml --- nginx.conf | 5 +---- nixpacks.toml | 2 +- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/nginx.conf b/nginx.conf index 17e33bf2..b89720d9 100644 --- a/nginx.conf +++ b/nginx.conf @@ -1,6 +1,6 @@ server { listen 80; - root /usr/share/nginx/html; + root /usr/share/nginx/html; index index.html index.htm; location / { @@ -8,7 +8,4 @@ server { } error_page 404 /404.html; - location = /404.html { - internal; - } } \ No newline at end of file diff --git a/nixpacks.toml b/nixpacks.toml index e4a9d13d..a88202db 100644 --- a/nixpacks.toml +++ b/nixpacks.toml @@ -3,7 +3,7 @@ nixPkgs = ["nodejs_22", "pnpm-9_x", "openssl"] [phases.install] cmds = [ - "npm install -g corepack@0.24.1 && corepack enable" + "npm install -g corepack@0.24.1 && corepack enable", "pnpm i --frozen-lockfile" ] From 9378c73747ff933074202ff7b1ce0188d4550c57 Mon Sep 17 00:00:00 2001 From: Adam Matthiesen Date: Mon, 8 Dec 2025 21:15:35 -0800 Subject: [PATCH 26/71] fix: update nixpacks configuration to use proto and streamline install commands --- nixpacks.toml | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/nixpacks.toml b/nixpacks.toml index a88202db..da58241e 100644 --- a/nixpacks.toml +++ b/nixpacks.toml @@ -1,19 +1,16 @@ [phases.setup] -nixPkgs = ["nodejs_22", "pnpm-9_x", "openssl"] +nixPkgs = ["proto", "openssl"] [phases.install] -cmds = [ - "npm install -g corepack@0.24.1 && corepack enable", - "pnpm i --frozen-lockfile" -] +cmds = ["proto use", "pnpm i --frozen-lockfile"] [phases.build] cmds = [ "mkdir -p /etc/nginx/conf.d", "cp ./nginx.conf /etc/nginx/nginx.conf", - "pnpm run build" + "pnpm run build", ] [start] # Command to start Nginx in the foreground -cmd = "nginx -g 'daemon off;'" \ No newline at end of file +cmd = "nginx -g 'daemon off;'" From 07dce26703e914b94d785123c2128d46c400dcdb Mon Sep 17 00:00:00 2001 From: Adam Matthiesen Date: Mon, 8 Dec 2025 21:20:10 -0800 Subject: [PATCH 27/71] fix: update nixpacks.toml to include nginx in setup and adjust start command --- nixpacks.toml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/nixpacks.toml b/nixpacks.toml index da58241e..77b4bb28 100644 --- a/nixpacks.toml +++ b/nixpacks.toml @@ -1,16 +1,16 @@ [phases.setup] -nixPkgs = ["proto", "openssl"] +nixPkgs = ["proto", "openssl", "nginx"] [phases.install] cmds = ["proto use", "pnpm i --frozen-lockfile"] [phases.build] cmds = [ + "pnpm run build", "mkdir -p /etc/nginx/conf.d", "cp ./nginx.conf /etc/nginx/nginx.conf", - "pnpm run build", ] [start] # Command to start Nginx in the foreground -cmd = "nginx -g 'daemon off;'" +cmd = "nginx -c /etc/nginx/nginx.conf -g 'daemon off;'" From b9374233d343233db266535153886eb658867cdd Mon Sep 17 00:00:00 2001 From: Adam Matthiesen Date: Mon, 8 Dec 2025 21:26:28 -0800 Subject: [PATCH 28/71] fix: update nixpacks.toml to include pnpm in setup and adjust install commands; add internal location for 404 error page in nginx.conf --- nginx.conf | 3 +++ nixpacks.toml | 4 ++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/nginx.conf b/nginx.conf index b89720d9..900aaa31 100644 --- a/nginx.conf +++ b/nginx.conf @@ -8,4 +8,7 @@ server { } error_page 404 /404.html; + location = /404.html { + internal; + } } \ No newline at end of file diff --git a/nixpacks.toml b/nixpacks.toml index 77b4bb28..3d8e936d 100644 --- a/nixpacks.toml +++ b/nixpacks.toml @@ -1,8 +1,8 @@ [phases.setup] -nixPkgs = ["proto", "openssl", "nginx"] +nixPkgs = ["proto", "pnpm", "openssl", "nginx"] [phases.install] -cmds = ["proto use", "pnpm i --frozen-lockfile"] +cmds = ["proto activate", "proto use", "pnpm i --frozen-lockfile"] [phases.build] cmds = [ From 50ccf96b4b7ee4182960a278ba2079ca41862ba5 Mon Sep 17 00:00:00 2001 From: Adam Matthiesen Date: Mon, 8 Dec 2025 21:29:36 -0800 Subject: [PATCH 29/71] fix: update nixpacks.toml to revert to nodejs_24 and remove proto commands from setup and install phases --- nixpacks.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nixpacks.toml b/nixpacks.toml index 3d8e936d..ae2d5e05 100644 --- a/nixpacks.toml +++ b/nixpacks.toml @@ -1,8 +1,8 @@ [phases.setup] -nixPkgs = ["proto", "pnpm", "openssl", "nginx"] +nixPkgs = ["nodejs_24", "pnpm", "openssl", "nginx"] [phases.install] -cmds = ["proto activate", "proto use", "pnpm i --frozen-lockfile"] +cmds = ["pnpm i --frozen-lockfile"] [phases.build] cmds = [ From 64d22b05506517ca19cffc18c8f37e84de4239e5 Mon Sep 17 00:00:00 2001 From: Adam Matthiesen Date: Mon, 8 Dec 2025 21:31:29 -0800 Subject: [PATCH 30/71] fix: update nixpacks.toml to revert nodejs version from 24 to 22 --- nixpacks.toml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/nixpacks.toml b/nixpacks.toml index ae2d5e05..4ec50b65 100644 --- a/nixpacks.toml +++ b/nixpacks.toml @@ -1,5 +1,5 @@ [phases.setup] -nixPkgs = ["nodejs_24", "pnpm", "openssl", "nginx"] +nixPkgs = ["nodejs_22", "pnpm", "openssl", "nginx"] [phases.install] cmds = ["pnpm i --frozen-lockfile"] @@ -12,5 +12,4 @@ cmds = [ ] [start] -# Command to start Nginx in the foreground cmd = "nginx -c /etc/nginx/nginx.conf -g 'daemon off;'" From 72612c59386518ad64b32fd3f5355d9f9ec24916 Mon Sep 17 00:00:00 2001 From: Adam Matthiesen Date: Mon, 8 Dec 2025 21:39:02 -0800 Subject: [PATCH 31/71] fix: update nixpacks.toml to correct nginx configuration file path and simplify start command --- nixpacks.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nixpacks.toml b/nixpacks.toml index 4ec50b65..63b42047 100644 --- a/nixpacks.toml +++ b/nixpacks.toml @@ -8,8 +8,8 @@ cmds = ["pnpm i --frozen-lockfile"] cmds = [ "pnpm run build", "mkdir -p /etc/nginx/conf.d", - "cp ./nginx.conf /etc/nginx/nginx.conf", + "cp ./nginx.conf /etc/nginx/conf.d/default.conf", ] [start] -cmd = "nginx -c /etc/nginx/nginx.conf -g 'daemon off;'" +cmd = "nginx -g 'daemon off;'" From 3f852d737475b54042045a13ffb9b9a22d14d721 Mon Sep 17 00:00:00 2001 From: Adam Matthiesen Date: Mon, 8 Dec 2025 21:53:15 -0800 Subject: [PATCH 32/71] fix: update nginx.conf to configure server settings and improve error handling --- nginx.conf | 37 +++++++++++++++++++++++++++---------- 1 file changed, 27 insertions(+), 10 deletions(-) diff --git a/nginx.conf b/nginx.conf index 900aaa31..4de4ee79 100644 --- a/nginx.conf +++ b/nginx.conf @@ -1,14 +1,31 @@ -server { - listen 80; - root /usr/share/nginx/html; - index index.html index.htm; +worker_processes 1; - location / { - try_files $uri $uri/ =404; - } +events { + worker_connections 1024; +} + +http { + server { + listen 8080; + server_name _; + + root /usr/share/nginx/html; + index index.html index.htm; + include /etc/nginx/mime.types; + + gzip on; + gzip_min_length 1000; + gzip_proxied expired no-cache no-store private auth; + gzip_types text/plain text/css application/json application/javascript application/x-javascript text/xml application/xml application/xml+rss text/javascript; + + error_page 404 /404.html; + location = /404.html { + root /usr/share/nginx/html; + internal; + } - error_page 404 /404.html; - location = /404.html { - internal; + location / { + try_files $uri $uri/index.html =404; + } } } \ No newline at end of file From 3ee49ac0abac2ad60b9ca4f8bb551709dad669bd Mon Sep 17 00:00:00 2001 From: Adam Matthiesen Date: Tue, 9 Dec 2025 12:13:22 -0800 Subject: [PATCH 33/71] fix: update contributor configuration and filtering logic to include ignored paths and enhance contributor breakdown --- src/components/ContributorList.astro | 37 +++++++++++++--------------- src/components/DropdownScript.astro | 2 +- src/components/ModalScript.astro | 2 +- src/components/ToasterScript.astro | 2 +- src/content/i18n/en.json | 15 +++++------ src/starlightOverrides/Search.astro | 1 + src/util/contributors.config.ts | 23 +++++++++++------ src/util/getContributors.ts | 17 ++++++++++--- 8 files changed, 57 insertions(+), 42 deletions(-) diff --git a/src/components/ContributorList.astro b/src/components/ContributorList.astro index d53afcd4..f0ca4fd6 100644 --- a/src/components/ContributorList.astro +++ b/src/components/ContributorList.astro @@ -12,7 +12,7 @@ const breakdown = await getContributorBreakdown(Astro); breakdown.map(({ name, contributors }) => { if (contributors.length === 0) return null; return ( -
+
{name}
@@ -24,33 +24,30 @@ const breakdown = await getContributorBreakdown(Astro);
\ No newline at end of file diff --git a/src/components/DropdownScript.astro b/src/components/DropdownScript.astro index b866c517..754d02e4 100644 --- a/src/components/DropdownScript.astro +++ b/src/components/DropdownScript.astro @@ -1,5 +1,5 @@