Skip to content

Beta.23#151

Merged
Adammatthiesen merged 8 commits into
mainfrom
beta.23
Aug 2, 2025
Merged

Beta.23#151
Adammatthiesen merged 8 commits into
mainfrom
beta.23

Conversation

@Adammatthiesen
Copy link
Copy Markdown
Member

@Adammatthiesen Adammatthiesen commented Aug 1, 2025

needs: withstudiocms/studiocms#659

TODO before merge:

  • Update pacakge catalog entries when packages are released to true
  • update package.json entries to proper version numbers instead of pkg.pr.new links

Summary by CodeRabbit

  • New Features

    • Added documentation and catalog entries for new oAuth provider plugins: Auth0, Discord, GitHub, and Google.
    • Introduced an upgrade guide for version 0.1.0-beta.23, detailing breaking changes and bug fixes.
  • Documentation

    • Updated getting started and configuration docs to reflect the new plugin-based oAuth system.
    • Added usage instructions and environment variable requirements for each new oAuth plugin.
    • Revised environment variables and feature reference documentation to match updated authentication support.
  • Chores

    • Updated StudioCMS and related package dependencies to version 0.1.0-beta.23.

…ame and password

feat(plugins): add setAuthService method to plugin interface

docs(start): update oAuth authentication section to reflect plugin system

chore: update subproject commit reference

feat(typedoc): add support for multiple oAuth plugins in TypeDoc configuration

docs(plugins): create documentation for @studiocms/auth0, @studiocms/discord, @studiocms/github, and @studiocms/google plugins

chore: add JSON metadata for new plugins in package catalog
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Aug 1, 2025

Note

⚡️ Unit Test Generation is now available in beta!

Learn more here, or try it out under "Finishing Touches" below.


📜 Recent review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between e827d7c and abae86c.

⛔ Files ignored due to path filters (1)
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (6)
  • package.json (1 hunks)
  • src/content/package-catalog/studiocms-auth0.json (1 hunks)
  • src/content/package-catalog/studiocms-discord.json (1 hunks)
  • src/content/package-catalog/studiocms-github.json (1 hunks)
  • src/content/package-catalog/studiocms-google.json (1 hunks)
  • studiocms (1 hunks)
🚧 Files skipped from review as they are similar to previous changes (6)
  • studiocms
  • package.json
  • src/content/package-catalog/studiocms-github.json
  • src/content/package-catalog/studiocms-auth0.json
  • src/content/package-catalog/studiocms-google.json
  • src/content/package-catalog/studiocms-discord.json
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: Run Starlight Link Check
✨ Finishing Touches
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch beta.23

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Explain this complex logic.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai explain this code block.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and explain its main purpose.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR.
  • @coderabbitai generate sequence diagram to generate a sequence diagram of the changes in this PR.
  • @coderabbitai generate unit tests to generate unit tests for this PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@studiocms-no-reply
Copy link
Copy Markdown
Member

studiocms-no-reply commented Aug 1, 2025

Lunaria Status Overview

🌕 This pull request will trigger status changes.

Learn more

By default, every PR changing files present in the Lunaria configuration's files property will be considered and trigger status changes accordingly.

You can change this by adding one of the keywords present in the ignoreKeywords property in your Lunaria configuration file in the PR's title (ignoring all files) or by including a tracker directive in the merged commit's description.

Tracked Files

File Note
en/config-reference/features.mdx Source changed, localizations will be marked as outdated.
en/guides/upgrade/version-guides/0-1-0-beta-22.mdx Source changed, localizations will be marked as outdated.
en/guides/upgrade/version-guides/0-1-0-beta-23.mdx Localization added, will be marked as complete.
en/package-catalog/studiocms-plugins/studiocms-auth0.mdx Localization added, will be marked as complete.
en/package-catalog/studiocms-plugins/studiocms-discord.mdx Localization added, will be marked as complete.
en/package-catalog/studiocms-plugins/studiocms-github.mdx Localization added, will be marked as complete.
en/package-catalog/studiocms-plugins/studiocms-google.mdx Localization added, will be marked as complete.
en/plugins/index.mdx Source changed, localizations will be marked as outdated.
en/start-here/environment-variables.mdx Source changed, localizations will be marked as outdated.
en/start-here/getting-started.mdx Source changed, localizations will be marked as outdated.
Warnings reference
Icon Description
🔄️ The source for this localization has been updated since the creation of this pull request, make sure all changes in the source have been applied.

@Adammatthiesen Adammatthiesen marked this pull request as ready for review August 1, 2025 06:46
@Adammatthiesen Adammatthiesen requested a review from a team as a code owner August 1, 2025 06:46
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 4

🔭 Outside diff range comments (1)
src/content/docs/en/start-here/environment-variables.mdx (1)

42-47: Removed OAuth section leaves dangling anchor references

The entire “Optional Environment Variables / OAuth” section has been dropped, so the in-page anchor #oauth-authentication-environment-variables no longer exists.
Other pages (e.g. getting-started.mdx, Line 398) still reference that anchor, which will render as a broken link at build-time.

Proposed quick fix:

- [oauth-environment-variables]: /en/start-here/environment-variables/#oauth-authentication-environment-variables
+# (anchor removed – delete any references or create a short stub section that links out to the new plugin docs)

Please either (a) delete the reference in every page, or (b) add a stub heading here that redirects readers to the new per-plugin docs.

♻️ Duplicate comments (2)
src/content/docs/en/package-catalog/studiocms-plugins/studiocms-discord.mdx (1)

13-15: Same unused imports as in Auth0 doc

The imports are not used; please drop them or add the planned interactive components before merge to avoid tree-shaking warnings.

src/content/docs/en/package-catalog/studiocms-plugins/studiocms-github.mdx (1)

13-15: Unused imports

Imports are present but no JSX uses them. Remove to keep MDX lean.

🧹 Nitpick comments (10)
src/content/package-catalog/studiocms-auth0.json (1)

4-9: Minor metadata polish & future-proofing

  1. The comma before “Provides” produces an odd sentence fragment – drop it and lowercase “provides”.
  2. released is still false; remember to flip this when the package is published to npm. If this file is merged as-is it will stay hidden in the catalog.
-  "description": "StudioCMS Auth0 plugin, Provides Auth0 Support for StudioCMS.",
+  "description": "StudioCMS Auth0 plugin – provides Auth0 support for StudioCMS.",
-  "released": false
+  "released": false  // ← switch to true on release
src/content/package-catalog/studiocms-github.json (1)

4-9: Apply same wording/flag tweaks as Auth0 entry

Keep descriptions consistent across plugin entries and remember to update the released flag.

-  "description": "StudioCMS GitHub plugin, Provides GitHub Support for StudioCMS.",
+  "description": "StudioCMS GitHub plugin – provides GitHub OAuth support for StudioCMS.",
src/content/docs/en/config-reference/features.mdx (1)

262-263: Mention external OAuth plugins or users will get lost

The line now says only usernameAndPassword “can be configured from here”, but doesn’t hint where the other providers went.
A short note + link to the upgrade guide (or plugin catalog) would avoid confusion.

src/content/docs/en/package-catalog/studiocms-plugins/studiocms-google.mdx (1)

16-18: Add a sentence clarifying optional plugin options and scopes

Readers may need to know how to pass extra options (e.g. scopes, prompt).
Consider a quick bullet list or link to API reference right after this paragraph.

src/content/package-catalog/studiocms-discord.json (1)

4-4: Minor wording consistency

"Provides Discord Support" → lowercase “provides” to match other catalog entries and avoid mid-sentence capitalization.

-  "description": "StudioCMS Discord plugin, Provides Discord Support for StudioCMS.",
+  "description": "StudioCMS Discord plugin, provides Discord support for StudioCMS.",
src/content/docs/en/package-catalog/studiocms-plugins/studiocms-auth0.mdx (2)

13-15: Remove currently-unused component imports

PackageManagers, Steps, Tabs, TabItem, and Aside are imported but not referenced in the document body. This adds dead code to the MDX bundle.

-import { PackageManagers } from 'starlight-package-managers'
-import { Steps, Tabs, TabItem, Aside } from '@astrojs/starlight/components';
+/* Imports can be re-added when interactive widgets are introduced */

32-39: Mention variable provenance

Consider adding a short note that all CMS_* variables must be available at build time (not only runtime) because StudioCMS reads them during the config phase. This prevents a common mis-configuration pitfall.

src/content/docs/en/plugins/index.mdx (2)

77-85: setAuthService type tweaks for accuracy

  1. endpointPath should accept string | URL, mirroring sitemapXMLEndpointPath above.
  2. Optional fields already include undefined; the explicit | undefined is redundant.
-        endpointPath: string;
-        requiredEnvVariables?: string[] | undefined;
+        endpointPath: string | URL;
+        requiredEnvVariables?: string[];

7-9: Badge wording – consider “Beta 23”

Since this page reflects new hooks added in Beta 23, a more specific badge (e.g. “Beta 23”) may be clearer than a generic “Updated”.

typedoc.config.ts (1)

63-70: Reduce repetition with a small helper
The four new variable declarations work, but this section is becoming a wall of near-identical lines. Looping over an array keeps it tidy and lowers the copy-paste risk.

// Instead of four explicit const lines …
const providers = ['auth0', 'discord', 'github', 'google'] as const;
const [tdAuth0, tdDiscord, tdGitHub, tdGoogle] = providers.map(() =>
	createStarlightTypeDocPlugin()[0],
);

Purely cosmetic – feel free to ignore if the explicit style is preferred.

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 6b38c77 and 67a9c20.

⛔ Files ignored due to path filters (1)
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (18)
  • astro.config.mts (1 hunks)
  • package.json (1 hunks)
  • src/content/docs/en/config-reference/features.mdx (1 hunks)
  • src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-22.mdx (0 hunks)
  • src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-23.mdx (1 hunks)
  • src/content/docs/en/package-catalog/studiocms-plugins/studiocms-auth0.mdx (1 hunks)
  • src/content/docs/en/package-catalog/studiocms-plugins/studiocms-discord.mdx (1 hunks)
  • src/content/docs/en/package-catalog/studiocms-plugins/studiocms-github.mdx (1 hunks)
  • src/content/docs/en/package-catalog/studiocms-plugins/studiocms-google.mdx (1 hunks)
  • src/content/docs/en/plugins/index.mdx (2 hunks)
  • src/content/docs/en/start-here/environment-variables.mdx (1 hunks)
  • src/content/docs/en/start-here/getting-started.mdx (1 hunks)
  • src/content/package-catalog/studiocms-auth0.json (1 hunks)
  • src/content/package-catalog/studiocms-discord.json (1 hunks)
  • src/content/package-catalog/studiocms-github.json (1 hunks)
  • src/content/package-catalog/studiocms-google.json (1 hunks)
  • studiocms (1 hunks)
  • typedoc.config.ts (2 hunks)
💤 Files with no reviewable changes (1)
  • src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-22.mdx
🧰 Additional context used
🧠 Learnings (3)
📓 Common learnings
Learnt from: ArmandPhilippot
PR: withstudiocms/docs#140
File: src/content/docs/fr/guides/upgrade/version-guides/0-1-0-beta-19.mdx:24-24
Timestamp: 2025-07-21T12:16:32.374Z
Learning: In the withstudiocms/docs repository, documentation URLs in the package-catalog may maintain legacy path names for stability and consistency across language versions, even when the actual package names have been updated. Always verify that corresponding files exist before flagging URLs as broken.
📚 Learning: in the withstudiocms/docs repository, documentation urls in the package-catalog may maintain legacy ...
Learnt from: ArmandPhilippot
PR: withstudiocms/docs#140
File: src/content/docs/fr/guides/upgrade/version-guides/0-1-0-beta-19.mdx:24-24
Timestamp: 2025-07-21T12:16:32.374Z
Learning: In the withstudiocms/docs repository, documentation URLs in the package-catalog may maintain legacy path names for stability and consistency across language versions, even when the actual package names have been updated. Always verify that corresponding files exist before flagging URLs as broken.

Applied to files:

  • studiocms
  • src/content/package-catalog/studiocms-auth0.json
  • package.json
  • astro.config.mts
  • src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-23.mdx
  • src/content/package-catalog/studiocms-discord.json
  • src/content/package-catalog/studiocms-google.json
  • src/content/docs/en/package-catalog/studiocms-plugins/studiocms-github.mdx
  • src/content/package-catalog/studiocms-github.json
📚 Learning: in the withstudiocms/docs repository, when reviewing french translation files, maintain consistency ...
Learnt from: ArmandPhilippot
PR: withstudiocms/docs#149
File: src/content/docs/fr/guides/upgrade/version-guides/0-1-0-beta-21.mdx:13-15
Timestamp: 2025-07-24T11:57:15.225Z
Learning: In the withstudiocms/docs repository, when reviewing French translation files, maintain consistency with the English version even if it means keeping unused imports. Structural parity between language versions is prioritized over removing unused code.

Applied to files:

  • studiocms
🔇 Additional comments (7)
studiocms (1)

1-1: Verify submodule SHA matches the Beta 23 merge
The submodule pointer was updated to 3d01f6fe967fd06c153c357b56028f709a8efbdb. Automated diff against the previous SHA (b082d77cb063b7413980d520a0ad02d47fa4ee4a) failed due to missing history. Please manually confirm that 3d01f6f… is the actual merge commit from withstudiocms/studiocms#659 (Beta 23).

You can verify by:

  • Fetching and inspecting the commit in the submodule:
    git -C studiocms fetch origin 3d01f6fe967fd06c153c357b56028f709a8efbdb
    git -C studiocms show --no-patch --format="%H %s"
  • Or using the GitHub CLI to view PR 659’s merge commit:
    gh pr view 659 --repo withstudiocms/studiocms --json mergeCommit
src/content/package-catalog/studiocms-google.json (1)

5-5: docsLink path should omit the locale segment to stay language-agnostic

Every other catalog entry keeps the path locale-neutral (e.g. /package-catalog/studiocms-plugins/<pkg>/).
Hard-coding an /en/ (or any locale) later breaks automatic locale routing in Starlight.

-  "docsLink": "/package-catalog/studiocms-plugins/studiocms-google/",
+  "docsLink": "/package-catalog/studiocms-plugins/studiocms-google/",

No functional change above; just emphasising the expected pattern.
Please double-check before merge.

src/content/docs/en/config-reference/features.mdx (1)

266-279: Auth config example may be using the wrong structure
In src/content/docs/en/config-reference/features.mdx (lines 266–279), you’ve placed usernameAndPasswordConfig inside providers, but in the StudioCMSOptions type it should be a sibling of providers. For example:

-    providers: {
-      usernameAndPassword: true,
-      usernameAndPasswordConfig: {
-        allowUserRegistration: true
-      }
-    }
+    providers: { usernameAndPassword: true },
+    usernameAndPasswordConfig: {
+      allowUserRegistration: true
+    }

Please verify this against your StudioCMSOptions definition and adjust the docs example to match.

src/content/docs/en/package-catalog/studiocms-plugins/studiocms-google.mdx (1)

34-38: Double-check env-var names match implementation

CMS_GOOGLE_REDIRECT_URI is uncommon wording; most OAuth libs use …_CALLBACK_URL.
Please ensure these exact names are what the runtime expects; otherwise the quick-start will fail.

astro.config.mts (1)

308-327: Sidebar entries added – make sure matching TypeDoc output folders really exist

If typedoc/studiocms-google (and the other three) aren’t generated by typedoc.config.ts, Starlight will emit broken links at build time.

src/content/package-catalog/studiocms-discord.json (1)

4-9: Flag released: false contradicts PR merge checklist

The PR objectives mention updating package-catalog entries “to mark packages as released.” Leaving "released": false will keep the plugin hidden from the public catalog after merge.
Either set it to true now or clearly document that a follow-up commit will flip the flag before publishing.

typedoc.config.ts (1)

374-421: Verify “effect” directory names in entryPoints
It looks like these providers reference src/effect/..., but the packages may actually use src/effects/.... Please confirm the exact directory names and update the entryPoints accordingly to avoid TypeDoc resolution errors.

• typedoc.config.ts (lines 374–421):
– @studiocms/auth0 → src/effect/auth0.ts
– @studiocms/discord → src/effect/discord.ts
– @studiocms/github → src/effect/github.ts
– @studiocms/google → src/effect/google.ts

Comment thread package.json
Comment thread src/content/docs/en/guides/upgrade/version-guides/0-1-0-beta-23.mdx
Comment thread src/content/docs/en/start-here/getting-started.mdx
Comment thread src/content/package-catalog/studiocms-google.json Outdated
@Adammatthiesen Adammatthiesen merged commit ce3b2d3 into main Aug 2, 2025
8 checks passed
@Adammatthiesen Adammatthiesen deleted the beta.23 branch August 2, 2025 00:28
ArmandPhilippot added a commit to ArmandPhilippot/studiocms-docs that referenced this pull request Aug 5, 2025
ArmandPhilippot added a commit to ArmandPhilippot/studiocms-docs that referenced this pull request Aug 5, 2025
dreyfus92 pushed a commit that referenced this pull request Aug 5, 2025
* i18n(fr): update `upgrade/versions-guides`

See #150 and #151

* fix OAuth case
dreyfus92 added a commit that referenced this pull request Aug 5, 2025
See #150 and #151

Co-authored-by: Paul Valladares <85648028+dreyfus92@users.noreply.github.com>
ArmandPhilippot added a commit to ArmandPhilippot/studiocms-docs that referenced this pull request Aug 6, 2025
ArmandPhilippot added a commit to ArmandPhilippot/studiocms-docs that referenced this pull request Aug 6, 2025
dreyfus92 pushed a commit that referenced this pull request Aug 6, 2025
dreyfus92 added a commit that referenced this pull request Aug 6, 2025
See #150 and #151

Co-authored-by: Paul Valladares <85648028+dreyfus92@users.noreply.github.com>
ArmandPhilippot added a commit to ArmandPhilippot/studiocms-docs that referenced this pull request Aug 7, 2025
dreyfus92 pushed a commit that referenced this pull request Aug 7, 2025
@coderabbitai coderabbitai Bot mentioned this pull request Aug 11, 2025
1 task
@coderabbitai coderabbitai Bot mentioned this pull request Oct 29, 2025
This was referenced Feb 19, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants