-
Notifications
You must be signed in to change notification settings - Fork 5.3k
Add supabase extension #25016
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Add supabase extension #25016
Conversation
- chore: fix ESLint config and resize screenshots - chore: update author to keito4 for Store submission - chore: add MIT LICENSE file - chore: disable mock mode for production - feat: add screenshots and mock data for Store submission - chore: update icon from Dashboard Icons - fix: branch opens project dashboard instead of branches page - feat: add empty state, refresh action, and Store requirements - feat: initial release of Supabase Raycast extension
|
Congratulations on your new Raycast extension! 🚀 We're currently experiencing a high volume of incoming requests. As a result, the initial review may take up to 10-15 business days. Once the PR is approved and merged, the extension will be available on our Store. |
Greptile OverviewGreptile SummaryThis PR adds a new Supabase extension that allows users to browse and manage Supabase projects and database branches directly from Raycast. The implementation follows Raycast extension guidelines correctly. Key Changes:
Previous Feedback Addressed: Confidence Score: 5/5
Important Files Changed
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
5 files reviewed, 6 comments
extensions/supabase/.prettierrc
Outdated
| @@ -0,0 +1,7 @@ | |||
| { | |||
| "printWidth": 100, | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
printWidth must be 120 per Raycast standards, not 100
| "printWidth": 100, | |
| "printWidth": 120, |
Context Used: Rule from dashboard - What: All extensions must use the standard Raycast Prettier configuration with printWidth: 120 and... (source)
Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!
extensions/supabase/CHANGELOG.md
Outdated
| @@ -0,0 +1,12 @@ | |||
| # Changelog | |||
|
|
|||
| ## [1.0.0] - 2025-01-31 | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
use {PR_MERGE_DATE} placeholder instead of hardcoded date
| ## [1.0.0] - 2025-01-31 | |
| ## [1.0.0] - {PR_MERGE_DATE} |
Context Used: Rule from dashboard - What: Changelog entries must use {PR_MERGE_DATE} placeholder in titles, be placed at the top of th... (source)
Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!
extensions/supabase/src/lib/types.ts
Outdated
| export type Preferences = { | ||
| accessToken: string; | ||
| }; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
don't manually define Preferences type - it's auto-generated in raycast-env.d.ts
| export type Preferences = { | |
| accessToken: string; | |
| }; |
Context Used: Rule from dashboard - What: Don't manually define Preferences for getPreferenceValues() or commends Argument interfa... (source)
Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!
| } from "@raycast/api"; | ||
| import { useState, useEffect, useCallback } from "react"; | ||
| import { supabaseFetch } from "./lib/api"; | ||
| import type { Preferences, Project, Organization } from "./lib/types"; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
remove Preferences import since it's auto-generated
| import type { Preferences, Project, Organization } from "./lib/types"; | |
| import type { Project, Organization } from "./lib/types"; |
Context Used: Rule from dashboard - What: Don't manually define Preferences for getPreferenceValues() or commends Argument interfa... (source)
| <Action.CopyToClipboard | ||
| title="Copy Project URL" | ||
| content={getProjectUrl(project.id)} | ||
| shortcut={{ modifiers: ["cmd"], key: "c" }} | ||
| /> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
both actions have the same shortcut (cmd+c) - this will cause conflicts
| <Action.CopyToClipboard | |
| title="Copy Project URL" | |
| content={getProjectUrl(project.id)} | |
| shortcut={{ modifiers: ["cmd"], key: "c" }} | |
| /> | |
| <Action.CopyToClipboard | |
| title="Copy Project Ref" | |
| content={project.id} | |
| shortcut={{ modifiers: ["cmd"], key: "c" }} | |
| /> | |
| <Action.CopyToClipboard | |
| title="Copy Project URL" | |
| content={getProjectUrl(project.id)} | |
| shortcut={{ modifiers: ["cmd", "shift"], key: "c" }} | |
| /> |
| <Action.CopyToClipboard | ||
| title="Copy Branch ID" | ||
| content={branch.id} | ||
| shortcut={{ modifiers: ["cmd"], key: "c" }} | ||
| /> | ||
| <Action.CopyToClipboard | ||
| title="Copy Project Ref" | ||
| content={branch.project_ref} | ||
| shortcut={{ modifiers: ["cmd"], key: "c" }} | ||
| /> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
both actions have the same shortcut (cmd+c)
| <Action.CopyToClipboard | |
| title="Copy Branch ID" | |
| content={branch.id} | |
| shortcut={{ modifiers: ["cmd"], key: "c" }} | |
| /> | |
| <Action.CopyToClipboard | |
| title="Copy Project Ref" | |
| content={branch.project_ref} | |
| shortcut={{ modifiers: ["cmd"], key: "c" }} | |
| /> | |
| <ActionPanel.Section title="Copy"> | |
| <Action.CopyToClipboard | |
| title="Copy Branch ID" | |
| content={branch.id} | |
| shortcut={{ modifiers: ["cmd"], key: "c" }} | |
| /> | |
| <Action.CopyToClipboard | |
| title="Copy Project Ref" | |
| content={branch.project_ref} | |
| shortcut={{ modifiers: ["cmd", "shift"], key: "c" }} | |
| /> | |
| </ActionPanel.Section> |
|
Hi @keito4 👋 Thanks for your contribution 💪 Could you look into the suggestions from Greptile I'm looking forward to reviwing this extension again 🔥 I converted this PR into a draft until it's ready for the review, please press the button Feel free to contact me here or at Slack if you have any questions. |
- style: format code with Prettier (printWidth: 120) - fix: address review feedback
Description
Browse and manage your Supabase projects and database branches directly from Raycast.
Features
Screencast
Screenshots are included in the
metadatafolder showing:Checklist
npm run buildand tested this distribution build in Raycastassetsfolder are used by the extension itselfREADMEare placed outside of themetadatafolder