+ )
+}
+
+export default SideBar
diff --git a/apps/temp-docs/components/nav/menu-items.json b/apps/temp-docs/components/nav/menu-items.json
new file mode 100644
index 00000000000..13ef56c2d86
--- /dev/null
+++ b/apps/temp-docs/components/nav/menu-items.json
@@ -0,0 +1,806 @@
+{
+ "Docs": {
+ "Overview": [
+ { "text": "Introduction", "link": "/" },
+ { "text": "Architecture", "link": "/architecture" },
+ { "text": "Database", "link": "/guides/database" },
+ { "text": "Auth", "link": "/guides/auth" },
+ { "text": "Storage", "link": "/guides/storage" },
+ { "text": "APIs", "link": "/guides/apis" },
+ { "text": "Examples and Resources", "link": "/guides/examples" }
+ ],
+ "Tutorials": [
+ { "text": "Quickstart: Angular", "link": "/guides/with-angular" },
+ { "text": "Quickstart: Next.js", "link": "/guides/with-nextjs" },
+ { "text": "Quickstart: Flutter", "link": "/guides/with-flutter" },
+ { "text": "Quickstart: React", "link": "/guides/with-react" },
+ { "text": "Quickstart: RedwoodJS", "link": "/guides/with-redwoodjs" },
+ { "text": "Quickstart: Svelte", "link": "/guides/with-svelte" },
+ { "text": "Quickstart: Vue 3", "link": "/guides/with-vue-3" }
+ ],
+ "See Also": [
+ { "text": "FAQs", "link": "/faqs" },
+ { "text": "Going into Prod Checklist", "link": "/going-into-prod" },
+ { "text": "Contributing", "link": "/handbook/contributing" },
+ { "text": "SupaSquad", "link": "/handbook/supasquad" },
+ { "text": "Terms of Service", "link": "/company/terms" },
+ { "text": "Privacy Policy", "link": "/company/privacy" },
+ { "text": "Acceptable Use Policy", "link": "/company/aup" }
+ ]
+ },
+ "Guides": {
+ "Guides": [
+ { "text": "Overview", "link": "/guides" },
+ { "text": "Local Development", "link": "/guides/local-development" }
+ ],
+ "Database": [
+ { "text": "Introduction", "link": "/guides/database/introduction" },
+ { "text": "Tables", "link": "/guides/database/tables" },
+ { "text": "Functions", "link": "/guides/database/functions" },
+ { "text": "Full Text Search", "link": "/guides/database/full-text-search" },
+ {
+ "text": "Extensions",
+ "sections": [
+ {
+ "text": "Overview",
+ "link": "/guides/database/extensions"
+ },
+ {
+ "text": "plv8: Javascript Language",
+ "link": "/guides/database/extensions/plv8"
+ },
+ {
+ "text": "http: RESTful Client",
+ "link": "/guides/database/extensions/http"
+ },
+ {
+ "text": "uuid-ossp: Unique Identifiers",
+ "link": "/guides/database/extensions/uuid-ossp"
+ }
+ ]
+ },
+ {
+ "text": "Connecting to Postgres",
+ "sections": [
+ {
+ "text": "Overview",
+ "link": "/guides/database/connecting/connecting-to-postgres"
+ },
+ {
+ "text": "Direct Connections",
+ "link": "/guides/database/connecting/direct-connections"
+ },
+ {
+ "text": "Connection Pooling",
+ "link": "/guides/database/connecting/connection-pooling"
+ }
+ ]
+ },
+ {
+ "text": "Configuration",
+ "sections": [
+ {
+ "text": "Timeouts",
+ "link": "/guides/database/timeouts"
+ },
+ {
+ "text": "Direct Connections",
+ "link": "/guides/database/replication"
+ },
+ {
+ "text": "Passwords",
+ "link": "/guides/database/managing-passwords"
+ },
+ {
+ "text": "Timezones",
+ "link": "/guides/database/managing-timezones"
+ }
+ ]
+ }
+ ],
+ "Auth": [
+ {
+ "text": "Introduction",
+ "link": "/guides/auth/intro"
+ },
+ {
+ "text": "Authentication",
+ "sections": [
+ { "text": "Login With Email", "link": "/guides/auth/auth-email" },
+ { "text": "Login With Magic Link", "link": "/guides/auth/auth-magic-link" },
+ { "text": "Login With Apple", "link": "/guides/auth/auth-apple" },
+ { "text": "Login With Bitbucket", "link": "/guides/auth/auth-bitbucket" },
+ { "text": "Login With Discord", "link": "/guides/auth/auth-discord" },
+ { "text": "Login With Facebook", "link": "/guides/auth/auth-facebook" },
+ { "text": "Login With GitHub", "link": "/guides/auth/auth-gitHub" },
+ { "text": "Login With GitLab", "link": "/guides/auth/auth-gitLab" },
+ { "text": "Login With Google", "link": "/guides/auth/auth-google" },
+ { "text": "Login With Slack", "link": "/guides/auth/auth-slack" },
+ { "text": "Login With Spotify", "link": "/guides/auth/auth-spotify" },
+ { "text": "Login With Twitter", "link": "/guides/auth/auth-twitter" },
+ { "text": "Login With Twitch", "link": "/guides/auth/auth-twitch" },
+ { "text": "Phone Auth With Twilio", "link": "/guides/auth/auth-twilio" },
+ { "text": "Phone Auth With MessageBird", "link": "/guides/auth/auth-messageBird" }
+ ]
+ },
+ {
+ "text": "Authorization",
+ "sections": [
+ { "text": "Row Level Security", "link": "/guides/auth/row-level-security" },
+ { "text": "Managing User Data", "link": "/guides/auth/managing-user-data" }
+ ]
+ },
+ {
+ "text": "Deep Dive",
+ "link": [
+ { "text": "Part One: JWTs", "link": "/guides/auth-deep-dive/auth-deep-dive-jwts" },
+ {
+ "text": "Part Two: Row Level Security",
+ "link": "/guides/auth-deep-dive/auth-row-level-security"
+ },
+ { "text": "Part Three: Policies", "link": "/guides/auth-deep-dive/auth-policies" },
+ { "text": "Part Four: Gotrue", "link": "/guides/auth-deep-dive/auth-gotrue" },
+ { "text": "Part Five: Google Oauth", "link": "/guides/auth-deep-dive/auth-google-auth" }
+ ]
+ }
+ ],
+ "Integrations": [
+ {
+ "text": "Auth0",
+ "link": "/guides/integrations/auth0"
+ },
+ {
+ "text": "Draftbit",
+ "link": "/guides/integrations/draftbit"
+ },
+ {
+ "text": "Prisma",
+ "link": "/guides/integrations/prisma"
+ },
+ {
+ "text": "Vercel",
+ "link": "/guides/integrations/vercel"
+ }
+ ],
+ "Self Hosting": [
+ { "text": "Overview", "link": "/guides/hosting/overview" },
+ { "text": "Supabase Platform", "link": "/guides/hosting/platform" },
+ { "text": "With Docker", "link": "/guides/hosting/docker" }
+ ]
+ },
+ "Reference": {
+ "JAVASCRIPT": [
+ {
+ "text": "Getting Started",
+ "sections": [
+ { "text": "Getting Started", "link": "/reference/javascript/index" },
+ { "text": "Installing", "link": "/reference/javascript/installing" },
+ { "text": "Initializing", "link": "/reference/javascript/initializing" },
+ { "text": "Generating Types", "link": "/reference/javascript/generating-types" }
+ ]
+ },
+ {
+ "text": "Auth",
+ "sections": [
+ { "text": "signUp()", "link": "/reference/javascript/auth-signup" },
+ { "text": "signIn()", "link": "/reference/javascript/auth-signin" },
+ { "text": "signOut()", "link": "/reference/javascript/auth-signout" },
+ { "text": "session()", "link": "/reference/javascript/auth-session" },
+ { "text": "user()", "link": "/reference/javascript/auth-user" },
+ { "text": "update()", "link": "/reference/javascript/auth-update" },
+ { "text": "setAuth()", "link": "/reference/javascript/auth-setauth" },
+ { "text": "onAuthStateChange()", "link": "/reference/javascript/auth-onauthstatechange" },
+ { "text": "getUser()", "link": "/reference/javascript/auth-api-getuser" },
+ { "text": "Reset Password(Email)", "link": "/reference/javascript/reset-password-email" }
+ ]
+ },
+ {
+ "text": "Auth (Server Only)",
+ "sections": [
+ { "text": "createUser()", "link": "/reference/javascript/auth-api-createuser" },
+ { "text": "deleteUser()", "link": "/reference/javascript/auth-api-deleteuser" },
+ { "text": "generateLink()", "link": "/reference/javascript/auth-api-generatelink" },
+ {
+ "text": "inviteUserByEmail()",
+ "link": "/reference/javascript/auth-api-inviteuserbyemail"
+ },
+ { "text": "sendMobileOTP()", "link": "/reference/javascript/auth-api-sendmobileotp" },
+ {
+ "text": "resetPasswordForEmail()",
+ "link": "/reference/javascript/auth-api-resetpasswordforemail"
+ }
+ ]
+ },
+ {
+ "text": "Database",
+ "sections": [
+ {
+ "text": "Fetch data: select()",
+ "link": "/reference/javascript/select"
+ },
+ {
+ "text": "Create data: insert()",
+ "link": "/reference/javascript/insert"
+ },
+ {
+ "text": "Modify data: update()",
+ "link": "/reference/javascript/update"
+ },
+ {
+ "text": "Upsert data: upsert()",
+ "link": "/reference/javascript/upsert"
+ },
+ {
+ "text": "Delete data: delete()",
+ "link": "/reference/javascript/delete"
+ },
+ {
+ "text": "Postgres functions: rpc()",
+ "link": "/reference/javascript/rpc"
+ }
+ ]
+ },
+ {
+ "text": "Realtime",
+ "sections": [
+ {
+ "text": "on().subscribe()",
+ "link": "/reference/javascript/subscribe"
+ },
+ {
+ "text": "removeSubscription()",
+ "link": "/reference/javascript/removesubscription"
+ },
+ {
+ "text": "removeAllSubscriptions()",
+ "link": "/reference/javascript/removeallsubscriptions"
+ },
+ {
+ "text": "getSubscriptions()",
+ "link": "/reference/javascript/getsubscriptions"
+ }
+ ]
+ },
+ {
+ "text": "Storage",
+ "sections": [
+ {
+ "text": "createBucket()",
+ "link": "/reference/javascript/storage-createbucket"
+ },
+ {
+ "text": "getBucket()",
+ "link": "/reference/javascript/storage-getbucket"
+ },
+ {
+ "text": "listBuckets()",
+ "link": "/reference/javascript/storage-listbuckets"
+ },
+ {
+ "text": "updateBucket()",
+ "link": "/reference/javascript/storage-updatebucket"
+ },
+ {
+ "text": "deleteBucket()",
+ "link": "/reference/javascript/storage-deletebucket"
+ },
+ {
+ "text": "emptyBucket()",
+ "link": "/reference/javascript/storage-emptybucket"
+ },
+ {
+ "text": "from.upload()",
+ "link": "/reference/javascript/storage-from-upload"
+ },
+ {
+ "text": "from.download()",
+ "link": "/reference/javascript/storage-from-download"
+ },
+ {
+ "text": "from.list()",
+ "link": "/reference/javascript/storage-from-list"
+ },
+ {
+ "text": "from.update()",
+ "link": "/reference/javascript/storage-from-update"
+ },
+ {
+ "text": "from.move()",
+ "link": "/reference/javascript/storage-from-move"
+ },
+ {
+ "text": "from.remove()",
+ "link": "/reference/javascript/storage-from-remove"
+ },
+ {
+ "text": "from.createSignedUrl()",
+ "link": "/reference/javascript/storage-from-createsignedurl"
+ },
+ {
+ "text": "from.getPublicUrl()",
+ "link": "/reference/javascript/storage-from-getpublicurl"
+ }
+ ]
+ },
+ {
+ "text": "Modifiers",
+ "sections": [
+ {
+ "text": "Using Modifiers",
+ "link": "/reference/javascript/using-modifiers"
+ },
+ {
+ "text": "limit()",
+ "link": "/reference/javascript/limit"
+ },
+ {
+ "text": "order()",
+ "link": "/reference/javascript/order"
+ },
+ {
+ "text": "range()",
+ "link": "/reference/javascript/range"
+ },
+ {
+ "text": "single()",
+ "link": "/reference/javascript/single"
+ },
+ {
+ "text": "maybeSingle()",
+ "link": "/reference/javascript/maybesingle"
+ }
+ ]
+ },
+ {
+ "text": "Filters",
+ "sections": [
+ {
+ "text": "Using Filters",
+ "link": "/reference/javascript/using-filters"
+ },
+ {
+ "text": "or()",
+ "link": "/reference/javascript/or"
+ },
+ {
+ "text": "not()",
+ "link": "/reference/javascript/not"
+ },
+ {
+ "text": "match()",
+ "link": "/reference/javascript/match"
+ },
+ {
+ "text": "eq()",
+ "link": "/reference/javascript/eq"
+ },
+ {
+ "text": "neq()",
+ "link": "/reference/javascript/neq"
+ },
+ {
+ "text": "gt()",
+ "link": "/reference/javascript/gt"
+ },
+ {
+ "text": "gte()",
+ "link": "/reference/javascript/gte"
+ },
+ {
+ "text": "lt()",
+ "link": "/reference/javascript/lt"
+ },
+ {
+ "text": "lte()",
+ "link": "/reference/javascript/lte"
+ },
+ {
+ "text": "like()",
+ "link": "/reference/javascript/like"
+ },
+ {
+ "text": "ilike()",
+ "link": "/reference/javascript/ilike"
+ },
+ {
+ "text": "is()",
+ "link": "/reference/javascript/is"
+ },
+ {
+ "text": "in()",
+ "link": "/reference/javascript/in"
+ },
+ {
+ "text": "contains()",
+ "link": "/reference/javascript/contains"
+ },
+ {
+ "text": "containedBy()",
+ "link": "/reference/javascript/containedby"
+ },
+ {
+ "text": "rangeLt()",
+ "link": "/reference/javascript/rangelt"
+ },
+ {
+ "text": "rangeGt()",
+ "link": "/reference/javascript/rangegt"
+ },
+ {
+ "text": "rangeGte()",
+ "link": "/reference/javascript/rangegte"
+ },
+ {
+ "text": "rangeLte()",
+ "link": "/reference/javascript/rangelte"
+ },
+
+ {
+ "text": "rangeAdjacent()",
+ "link": "/reference/javascript/rangeadjacent"
+ },
+ {
+ "text": "overlaps()",
+ "link": "/reference/javascript/overlaps"
+ },
+ {
+ "text": "textSearch()",
+ "link": "/reference/javascript/textsearch"
+ },
+ {
+ "text": "filter()",
+ "link": "/reference/javascript/filter"
+ }
+ ]
+ }
+ ],
+ "DART": [
+ {
+ "text": "Getting Started",
+ "sections": [
+ { "text": "Installing", "link": "/reference/dart/installing" },
+ { "text": "Initializing", "link": "/reference/dart/initializing" }
+ ]
+ },
+ {
+ "text": "Auth",
+ "sections": [
+ { "text": "signUp()", "link": "/reference/dart/auth-signup" },
+ { "text": "signIn()", "link": "/reference/dart/auth-signin" },
+ { "text": "signOut()", "link": "/reference/dart/auth-signout" },
+ { "text": "session()", "link": "/reference/dart/auth-session" },
+ { "text": "user()", "link": "/reference/dart/auth-user" },
+ { "text": "update()", "link": "/reference/dart/auth-update" },
+ { "text": "setAuth()", "link": "/reference/dart/auth-setauth" },
+ { "text": "onAuthStateChange()", "link": "/reference/dart/auth-onauthsatechange" },
+ { "text": "Reset Password(Email)", "link": "/reference/dart/reset-password-email" }
+ ]
+ },
+
+ {
+ "text": "Database",
+ "sections": [
+ {
+ "text": "Fetch data: select()",
+ "link": "/reference/dart/select"
+ },
+ {
+ "text": "Create data: insert()",
+ "link": "/reference/dart/insert"
+ },
+ {
+ "text": "Modify data: update()",
+ "link": "/reference/dart/update"
+ },
+ {
+ "text": "Upsert data: upsert()",
+ "link": "/reference/dart/upsert"
+ },
+ {
+ "text": "Delete data: delete()",
+ "link": "/reference/dart/delete"
+ },
+ {
+ "text": "Postgres functions: rpc()",
+ "link": "/reference/dart/rpc"
+ }
+ ]
+ },
+ {
+ "text": "Realtime",
+ "sections": [
+ {
+ "text": "on().subscribe()",
+ "link": "/reference/dart/subscribe"
+ },
+ {
+ "text": "removeSubscription()",
+ "link": "/reference/dart/removesubscription"
+ },
+ {
+ "text": "getSubscriptions()",
+ "link": "/reference/dart/getsubscriptions"
+ }
+ ]
+ },
+ {
+ "text": "Storage",
+ "sections": [
+ {
+ "text": "createBucket()",
+ "link": "/reference/dart/storage-createbucket"
+ },
+ {
+ "text": "getBucket()",
+ "link": "/reference/dart/storage-getbucket"
+ },
+ {
+ "text": "listBuckets()",
+ "link": "/reference/dart/storage-listbuckets"
+ },
+ {
+ "text": "updateBucket()",
+ "link": "/reference/dart/storage-updatebucket"
+ },
+ {
+ "text": "deleteBucket()",
+ "link": "/reference/dart/storage-deletebucket"
+ },
+ {
+ "text": "emptyBucket()",
+ "link": "/reference/dart/storage-emptybucket"
+ },
+ {
+ "text": "from.upload()",
+ "link": "/reference/dart/storage-from-upload"
+ },
+ {
+ "text": "from.download()",
+ "link": "/reference/dart/storage-from-download"
+ },
+ {
+ "text": "from.list()",
+ "link": "/reference/dart/storage-from-list"
+ },
+ {
+ "text": "from.update()",
+ "link": "/reference/dart/storage-from-update"
+ },
+ {
+ "text": "from.move()",
+ "link": "/reference/dart/storage-from-move"
+ },
+ {
+ "text": "from.remove()",
+ "link": "/reference/dart/storage-from-remove"
+ },
+ {
+ "text": "from.createSignedUrl()",
+ "link": "/reference/dart/storage-from-createsignedurl"
+ },
+ {
+ "text": "from.getPublicUrl()",
+ "link": "/reference/dart/storage-from-getpublicurl"
+ }
+ ]
+ },
+ {
+ "text": "Modifiers",
+ "sections": [
+ {
+ "text": "Using Modifiers",
+ "link": "/reference/dart/using-modifiers"
+ },
+ {
+ "text": "limit()",
+ "link": "/reference/dart/limit"
+ },
+ {
+ "text": "order()",
+ "link": "/reference/dart/order"
+ },
+ {
+ "text": "range()",
+ "link": "/reference/dart/range"
+ },
+ {
+ "text": "single()",
+ "link": "/reference/dart/single"
+ },
+ {
+ "text": "maybeSingle()",
+ "link": "/reference/dart/maybesingle"
+ }
+ ]
+ },
+ {
+ "text": "Filters",
+ "sections": [
+ {
+ "text": "Using Filters",
+ "link": "/reference/dart/using-filters"
+ },
+ {
+ "text": "or()",
+ "link": "/reference/dart/or"
+ },
+ {
+ "text": "not()",
+ "link": "/reference/dart/not"
+ },
+ {
+ "text": "match()",
+ "link": "/reference/dart/match"
+ },
+ {
+ "text": "eq()",
+ "link": "/reference/dart/eq"
+ },
+ {
+ "text": "neq()",
+ "link": "/reference/dart/neq"
+ },
+ {
+ "text": "gt()",
+ "link": "/reference/dart/gt"
+ },
+ {
+ "text": "gte()",
+ "link": "/reference/dart/gte"
+ },
+ {
+ "text": "lt()",
+ "link": "/reference/dart/lt"
+ },
+ {
+ "text": "lte()",
+ "link": "/reference/dart/lte"
+ },
+ {
+ "text": "like()",
+ "link": "/reference/dart/like"
+ },
+ {
+ "text": "ilike()",
+ "link": "/reference/dart/ilike"
+ },
+ {
+ "text": "is_()",
+ "link": "/reference/dart/is_"
+ },
+ {
+ "text": "in_()",
+ "link": "/reference/dart/in_"
+ },
+ {
+ "text": "contains()",
+ "link": "/reference/dart/contains"
+ },
+ {
+ "text": "containedBy()",
+ "link": "/reference/dart/containedby"
+ },
+ {
+ "text": "rangeLt()",
+ "link": "/reference/dart/rangelt"
+ },
+ {
+ "text": "rangeGt()",
+ "link": "/reference/dart/rangegt"
+ },
+ {
+ "text": "rangeGte()",
+ "link": "/reference/dart/rangegte"
+ },
+ {
+ "text": "rangeLte()",
+ "link": "/reference/dart/rangelte"
+ },
+
+ {
+ "text": "rangeAdjacent()",
+ "link": "/reference/dart/rangeadjacent"
+ },
+ {
+ "text": "overlaps()",
+ "link": "/reference/dart/overlaps"
+ },
+ {
+ "text": "textSearch()",
+ "link": "/reference/dart/textsearch"
+ },
+ {
+ "text": "filter()",
+ "link": "/reference/dart/filter"
+ }
+ ]
+ }
+ ],
+ "CLI": [
+ {
+ "text": "About",
+ "sections": [{ "text": "About", "link": "/reference/cli/about" }]
+ },
+ {
+ "text": "Command reference",
+ "sections": [
+ {
+ "text": "supabase help",
+ "link": "/reference/cli/supabase-help"
+ },
+
+ {
+ "text": "supabase init",
+ "link": "/reference/cli/supabase-init"
+ },
+ {
+ "text": "supabase start",
+ "link": "/reference/cli/supabase-start"
+ },
+ {
+ "text": "supabase stop",
+ "link": "/reference/cli/supabase-stop"
+ },
+ {
+ "text": "supabase eject",
+ "link": "/reference/cli/supabase-eject"
+ },
+
+ {
+ "text": "supabase db branch list",
+ "link": "/reference/cli/supabase-db-branch-list"
+ },
+ {
+ "text": "supabase db branch create",
+ "link": "/reference/cli/supabase-db-branch-create"
+ },
+ {
+ "text": "supabase db branch delete",
+ "link": "/reference/cli/supabase-db-branch-delete"
+ },
+ {
+ "text": "supabase db switch",
+ "link": "/reference/cli/supabase-db-switch"
+ },
+ {
+ "text": "supabase db changes",
+ "link": "/reference/cli/supabase-db-changes"
+ },
+ {
+ "text": "supabase db commit",
+ "link": "/reference/cli/supabase-db-commit"
+ },
+ {
+ "text": "supabase db reset",
+ "link": "/reference/cli/supabase-db-reset"
+ },
+ {
+ "text": "supabase db remote set",
+ "link": "/reference/cli/supabase-db-remote-set"
+ },
+ {
+ "text": "supabase db remote commit",
+ "link": "/reference/cli/supabase-db-remote-commit"
+ },
+ {
+ "text": "supabase db push",
+ "link": "/reference/cli/supabase-db-push"
+ },
+ {
+ "text": "supabase migration new",
+ "link": "/reference/cli/supabase-migration-new"
+ }
+ ]
+ },
+ {
+ "text": "Config reference",
+ "sections": [
+ {
+ "text": "Config reference",
+ "link": "/reference/cli/config-reference"
+ }
+ ]
+ }
+ ]
+ }
+}
diff --git a/apps/temp-docs/data/authProviders.js b/apps/temp-docs/data/authProviders.js
new file mode 100644
index 00000000000..13770e5a00d
--- /dev/null
+++ b/apps/temp-docs/data/authProviders.js
@@ -0,0 +1,148 @@
+const authProviders = [
+ // {
+ // name: 'Email',
+ // // logo: '/img/libraries/dart-icon.svg',
+ // href: '/docs/guides/auth/auth-apple',
+ // official: true,
+ // supporter: 'Supabase',
+ // platform: true,
+ // selfHosted: true,
+ // },
+ // {
+ // name: 'Magic Links',
+ // // logo: '/img/libraries/dart-icon.svg',
+ // href: '/docs/guides/auth/auth-apple',
+ // official: true,
+ // supporter: 'Supabase',
+ // platform: true,
+ // selfHosted: true,
+ // },
+ {
+ name: 'Apple',
+ // logo: '/img/libraries/dart-icon.svg',
+ href: '/docs/guides/auth/auth-apple',
+ official: true,
+ supporter: 'Supabase',
+ platform: true,
+ selfHosted: true,
+ },
+ {
+ name: 'Azure',
+ // logo: '/img/libraries/dart-icon.svg',
+ href: '/docs/guides/auth/auth-azure',
+ official: false,
+ supporter: 'TBD',
+ platform: true,
+ selfHosted: true,
+ },
+ {
+ name: 'Bitbucket',
+ // logo: '/img/libraries/dart-icon.svg',
+ href: '/docs/guides/auth/auth-bitbucket',
+ official: true,
+ supporter: 'Supabase',
+ platform: true,
+ selfHosted: true,
+ },
+ {
+ name: 'Discord',
+ // logo: '/img/libraries/dart-icon.svg',
+ href: '/docs/guides/auth/auth-discord',
+ official: true,
+ supporter: 'Supabase',
+ platform: true,
+ selfHosted: true,
+ },
+ {
+ name: 'Facebook',
+ // logo: '/img/libraries/dart-icon.svg',
+ href: '/docs/guides/auth/auth-facebook',
+ official: true,
+ supporter: 'Supabase',
+ platform: true,
+ selfHosted: true,
+ },
+ {
+ name: 'GitHub',
+ // logo: '/img/libraries/dart-icon.svg',
+ href: '/docs/guides/auth/auth-github',
+ official: true,
+ supporter: 'Supabase',
+ platform: true,
+ selfHosted: true,
+ },
+ {
+ name: 'GitLab',
+ // logo: '/img/libraries/dart-icon.svg',
+ href: '/docs/guides/auth/auth-gitlab',
+ official: true,
+ supporter: 'Supabase',
+ platform: true,
+ selfHosted: true,
+ },
+ {
+ name: 'Google',
+ // logo: '/img/libraries/dart-icon.svg',
+ href: '/docs/guides/auth/auth-google',
+ official: true,
+ supporter: 'Supabase',
+ platform: true,
+ selfHosted: true,
+ },
+ {
+ name: 'MessageBird',
+ // logo: '/img/libraries/dart-icon.svg',
+ href: '/docs/guides/auth/auth-messagebird',
+ official: false,
+ supporter: 'MessageBird',
+ platform: true,
+ selfHosted: true,
+ },
+ {
+ name: 'Slack',
+ // logo: '/img/libraries/dart-icon.svg',
+ href: '/docs/guides/auth/auth-slack',
+ official: true,
+ supporter: 'Supabase',
+ platform: true,
+ selfHosted: true,
+ },
+ {
+ name: 'Spotify',
+ // logo: '/img/libraries/dart-icon.svg',
+ href: '/docs/guides/auth/auth-spotify',
+ official: true,
+ supporter: 'Supabase',
+ platform: true,
+ selfHosted: true,
+ },
+ {
+ name: 'Twitter',
+ // logo: '/img/libraries/dart-icon.svg',
+ href: '/docs/guides/auth/auth-twitter',
+ official: true,
+ supporter: 'Supabase',
+ platform: true,
+ selfHosted: true,
+ },
+ {
+ name: 'Twitch',
+ // logo: '/img/libraries/dart-icon.svg',
+ href: '/docs/guides/auth/auth-twitch',
+ official: true,
+ supporter: 'Supabase',
+ platform: true,
+ selfHosted: true,
+ },
+ {
+ name: 'Twilio',
+ // logo: '/img/libraries/dart-icon.svg',
+ href: '/docs/guides/auth/auth-twilio',
+ official: true,
+ supporter: 'Supabase',
+ platform: true,
+ selfHosted: true,
+ },
+]
+
+export default authProviders
\ No newline at end of file
diff --git a/apps/temp-docs/data/contributors/contributors.json b/apps/temp-docs/data/contributors/contributors.json
new file mode 100644
index 00000000000..5fc5ffb9e80
--- /dev/null
+++ b/apps/temp-docs/data/contributors/contributors.json
@@ -0,0 +1,42 @@
+[
+ {
+ "username": "Exploringtechnologies",
+ "avatar_url": "https://avatars0.githubusercontent.com/u/66567938?v=4"
+ },
+ {
+ "username": "awalias",
+ "avatar_url": "https://avatars3.githubusercontent.com/u/458736?v=4"
+ },
+ {
+ "username": "dependabot-preview[bot]",
+ "avatar_url": "https://avatars3.githubusercontent.com/in/2141?v=4"
+ },
+ {
+ "username": "dependabot[bot]",
+ "avatar_url": "https://avatars0.githubusercontent.com/in/29110?v=4"
+ },
+ {
+ "username": "dragarcia",
+ "avatar_url": "https://avatars3.githubusercontent.com/u/26374889?v=4"
+ },
+ {
+ "username": "kiwicopple",
+ "avatar_url": "https://avatars0.githubusercontent.com/u/10214025?v=4"
+ },
+ {
+ "username": "mcbyrne",
+ "avatar_url": "https://avatars0.githubusercontent.com/u/851914?v=4"
+ },
+ {
+ "username": "s-pace",
+ "avatar_url": "https://avatars2.githubusercontent.com/u/32097720?v=4"
+ },
+ {
+ "username": "soedirgo",
+ "avatar_url": "https://avatars3.githubusercontent.com/u/31685197?v=4"
+ },
+ {
+ "username": "teymour-aldridge",
+ "avatar_url": "https://avatars3.githubusercontent.com/u/42674621?v=4"
+ }
+]
diff --git a/apps/temp-docs/data/contributors/issues.json b/apps/temp-docs/data/contributors/issues.json
new file mode 100644
index 00000000000..9ccb0d0f042
--- /dev/null
+++ b/apps/temp-docs/data/contributors/issues.json
@@ -0,0 +1,10 @@
+[
+ {
+ "username": "dependabot-preview[bot]",
+ "avatar_url": "https://avatars3.githubusercontent.com/in/2141?v=4"
+ },
+ {
+ "username": "kiwicopple",
+ "avatar_url": "https://avatars0.githubusercontent.com/u/10214025?v=4"
+ }
+]
diff --git a/apps/temp-docs/data/extensions.json b/apps/temp-docs/data/extensions.json
new file mode 100644
index 00000000000..4014e6eeabc
--- /dev/null
+++ b/apps/temp-docs/data/extensions.json
@@ -0,0 +1,478 @@
+[
+ {
+ "name": "address_standardizer",
+ "schema": null,
+ "default_version": "3.1.1",
+ "installed_version": null,
+ "comment": "Used to parse an address into constituent elements. Generally used to support geocoding address normalization step."
+ },
+ {
+ "name": "address_standardizer-3",
+ "schema": null,
+ "default_version": "3.1.1",
+ "installed_version": null,
+ "comment": "Used to parse an address into constituent elements. Generally used to support geocoding address normalization step."
+ },
+ {
+ "name": "address_standardizer_data_us",
+ "schema": null,
+ "default_version": "3.1.1",
+ "installed_version": null,
+ "comment": "Address Standardizer US dataset example"
+ },
+ {
+ "name": "address_standardizer_data_us-3",
+ "schema": null,
+ "default_version": "3.1.1",
+ "installed_version": null,
+ "comment": "Address Standardizer US dataset example"
+ },
+ {
+ "name": "adminpack",
+ "schema": null,
+ "default_version": "2.0",
+ "installed_version": null,
+ "comment": "administrative functions for PostgreSQL"
+ },
+ {
+ "name": "amcheck",
+ "schema": null,
+ "default_version": "1.2",
+ "installed_version": null,
+ "comment": "functions for verifying relation integrity"
+ },
+ {
+ "name": "autoinc",
+ "schema": null,
+ "default_version": "1.0",
+ "installed_version": null,
+ "comment": "functions for autoincrementing fields"
+ },
+ {
+ "name": "bloom",
+ "schema": null,
+ "default_version": "1.0",
+ "installed_version": null,
+ "comment": "bloom access method - signature file based index"
+ },
+ {
+ "name": "btree_gin",
+ "schema": null,
+ "default_version": "1.3",
+ "installed_version": null,
+ "comment": "support for indexing common datatypes in GIN"
+ },
+ {
+ "name": "btree_gist",
+ "schema": null,
+ "default_version": "1.5",
+ "installed_version": null,
+ "comment": "support for indexing common datatypes in GiST"
+ },
+ {
+ "name": "citext",
+ "schema": null,
+ "default_version": "1.6",
+ "installed_version": null,
+ "comment": "data type for case-insensitive character strings"
+ },
+ {
+ "name": "cube",
+ "schema": null,
+ "default_version": "1.4",
+ "installed_version": null,
+ "comment": "data type for multidimensional cubes"
+ },
+ {
+ "name": "dblink",
+ "schema": null,
+ "default_version": "1.2",
+ "installed_version": null,
+ "comment": "connect to other PostgreSQL databases from within a database"
+ },
+ {
+ "name": "dict_int",
+ "schema": null,
+ "default_version": "1.0",
+ "installed_version": null,
+ "comment": "text search dictionary template for integers"
+ },
+ {
+ "name": "dict_xsyn",
+ "schema": null,
+ "default_version": "1.0",
+ "installed_version": null,
+ "comment": "text search dictionary template for extended synonym processing"
+ },
+ {
+ "name": "earthdistance",
+ "schema": null,
+ "default_version": "1.1",
+ "installed_version": null,
+ "comment": "calculate great-circle distances on the surface of the Earth"
+ },
+ {
+ "name": "file_fdw",
+ "schema": null,
+ "default_version": "1.0",
+ "installed_version": null,
+ "comment": "foreign-data wrapper for flat file access"
+ },
+ {
+ "name": "fuzzystrmatch",
+ "schema": null,
+ "default_version": "1.1",
+ "installed_version": null,
+ "comment": "determine similarities and distance between strings"
+ },
+ {
+ "name": "hstore",
+ "schema": null,
+ "default_version": "1.6",
+ "installed_version": null,
+ "comment": "data type for storing sets of (key, value) pairs"
+ },
+ {
+ "name": "http",
+ "schema": "extensions",
+ "default_version": "1.3",
+ "installed_version": "1.3",
+ "comment": "HTTP client for PostgreSQL, allows web page retrieval inside the database."
+ },
+ {
+ "name": "insert_username",
+ "schema": null,
+ "default_version": "1.0",
+ "installed_version": null,
+ "comment": "functions for tracking who changed a table"
+ },
+ {
+ "name": "intagg",
+ "schema": null,
+ "default_version": "1.1",
+ "installed_version": null,
+ "comment": "integer aggregator and enumerator (obsolete)"
+ },
+ {
+ "name": "intarray",
+ "schema": null,
+ "default_version": "1.2",
+ "installed_version": null,
+ "comment": "functions, operators, and index support for 1-D arrays of integers"
+ },
+ {
+ "name": "isn",
+ "schema": null,
+ "default_version": "1.2",
+ "installed_version": null,
+ "comment": "data types for international product numbering standards"
+ },
+ {
+ "name": "lo",
+ "schema": null,
+ "default_version": "1.1",
+ "installed_version": null,
+ "comment": "Large Object maintenance"
+ },
+ {
+ "name": "ltree",
+ "schema": null,
+ "default_version": "1.1",
+ "installed_version": null,
+ "comment": "data type for hierarchical tree-like structures"
+ },
+ {
+ "name": "moddatetime",
+ "schema": null,
+ "default_version": "1.0",
+ "installed_version": null,
+ "comment": "functions for tracking last modification time"
+ },
+ {
+ "name": "pageinspect",
+ "schema": null,
+ "default_version": "1.7",
+ "installed_version": null,
+ "comment": "inspect the contents of database pages at a low level"
+ },
+ {
+ "name": "pg_buffercache",
+ "schema": null,
+ "default_version": "1.3",
+ "installed_version": null,
+ "comment": "examine the shared buffer cache"
+ },
+ {
+ "name": "pg_cron",
+ "schema": "extensions",
+ "default_version": "1.3",
+ "installed_version": "1.3",
+ "comment": "Job scheduler for PostgreSQL"
+ },
+ {
+ "name": "pg_freespacemap",
+ "schema": null,
+ "default_version": "1.2",
+ "installed_version": null,
+ "comment": "examine the free space map (FSM)"
+ },
+ {
+ "name": "pg_prewarm",
+ "schema": null,
+ "default_version": "1.2",
+ "installed_version": null,
+ "comment": "prewarm relation data"
+ },
+ {
+ "name": "pg_stat_statements",
+ "schema": null,
+ "default_version": "1.7",
+ "installed_version": null,
+ "comment": "track execution statistics of all SQL statements executed"
+ },
+ {
+ "name": "pg_trgm",
+ "schema": null,
+ "default_version": "1.4",
+ "installed_version": null,
+ "comment": "text similarity measurement and index searching based on trigrams"
+ },
+ {
+ "name": "pg_visibility",
+ "schema": null,
+ "default_version": "1.2",
+ "installed_version": null,
+ "comment": "examine the visibility map (VM) and page-level visibility info"
+ },
+ {
+ "name": "pgaudit",
+ "schema": null,
+ "default_version": "1.4",
+ "installed_version": null,
+ "comment": "provides auditing functionality"
+ },
+ {
+ "name": "pgcrypto",
+ "schema": "extensions",
+ "default_version": "1.3",
+ "installed_version": "1.3",
+ "comment": "cryptographic functions"
+ },
+ {
+ "name": "pgjwt",
+ "schema": "extensions",
+ "default_version": "0.1.0",
+ "installed_version": "0.1.0",
+ "comment": "JSON Web Token API for Postgresql"
+ },
+ {
+ "name": "pgrowlocks",
+ "schema": null,
+ "default_version": "1.2",
+ "installed_version": null,
+ "comment": "show row-level locking information"
+ },
+ {
+ "name": "pgstattuple",
+ "schema": null,
+ "default_version": "1.5",
+ "installed_version": null,
+ "comment": "show tuple-level statistics"
+ },
+ {
+ "name": "pgtap",
+ "schema": null,
+ "default_version": "1.1.0",
+ "installed_version": null,
+ "comment": "Unit testing for PostgreSQL"
+ },
+ {
+ "name": "plcoffee",
+ "schema": null,
+ "default_version": "3.0alpha",
+ "installed_version": null,
+ "comment": "PL/CoffeeScript (v8) trusted procedural language"
+ },
+ {
+ "name": "pljava",
+ "schema": null,
+ "default_version": "1.6.0",
+ "installed_version": null,
+ "comment": "PL/Java procedural language (https://tada.github.io/pljava/)"
+ },
+ {
+ "name": "plls",
+ "schema": null,
+ "default_version": "3.0alpha",
+ "installed_version": null,
+ "comment": "PL/LiveScript (v8) trusted procedural language"
+ },
+ {
+ "name": "plpgsql",
+ "schema": "pg_catalog",
+ "default_version": "1.0",
+ "installed_version": "1.0",
+ "comment": "PL/pgSQL procedural language"
+ },
+ {
+ "name": "plpgsql_check",
+ "schema": null,
+ "default_version": "1.11",
+ "installed_version": null,
+ "comment": "extended check for plpgsql functions"
+ },
+ {
+ "name": "plv8",
+ "schema": null,
+ "default_version": "3.0alpha",
+ "installed_version": null,
+ "comment": "PL/JavaScript (v8) trusted procedural language"
+ },
+ {
+ "name": "postgis",
+ "schema": null,
+ "default_version": "3.1.1",
+ "installed_version": null,
+ "comment": "PostGIS geometry and geography spatial types and functions"
+ },
+ {
+ "name": "postgis-3",
+ "schema": null,
+ "default_version": "3.1.1",
+ "installed_version": null,
+ "comment": "PostGIS geometry and geography spatial types and functions"
+ },
+ {
+ "name": "postgis_raster",
+ "schema": null,
+ "default_version": "3.1.1",
+ "installed_version": null,
+ "comment": "PostGIS raster types and functions"
+ },
+ {
+ "name": "postgis_raster-3",
+ "schema": null,
+ "default_version": "3.1.1",
+ "installed_version": null,
+ "comment": "PostGIS raster types and functions"
+ },
+ {
+ "name": "postgis_sfcgal",
+ "schema": null,
+ "default_version": "3.1.1",
+ "installed_version": null,
+ "comment": "PostGIS SFCGAL functions"
+ },
+ {
+ "name": "postgis_sfcgal-3",
+ "schema": null,
+ "default_version": "3.1.1",
+ "installed_version": null,
+ "comment": "PostGIS SFCGAL functions"
+ },
+ {
+ "name": "postgis_tiger_geocoder",
+ "schema": null,
+ "default_version": "3.1.1",
+ "installed_version": null,
+ "comment": "PostGIS tiger geocoder and reverse geocoder"
+ },
+ {
+ "name": "postgis_tiger_geocoder-3",
+ "schema": null,
+ "default_version": "3.1.1",
+ "installed_version": null,
+ "comment": "PostGIS tiger geocoder and reverse geocoder"
+ },
+ {
+ "name": "postgis_topology",
+ "schema": null,
+ "default_version": "3.1.1",
+ "installed_version": null,
+ "comment": "PostGIS topology spatial types and functions"
+ },
+ {
+ "name": "postgis_topology-3",
+ "schema": null,
+ "default_version": "3.1.1",
+ "installed_version": null,
+ "comment": "PostGIS topology spatial types and functions"
+ },
+ {
+ "name": "postgres_fdw",
+ "schema": null,
+ "default_version": "1.0",
+ "installed_version": null,
+ "comment": "foreign-data wrapper for remote PostgreSQL servers"
+ },
+ {
+ "name": "refint",
+ "schema": null,
+ "default_version": "1.0",
+ "installed_version": null,
+ "comment": "functions for implementing referential integrity (obsolete)"
+ },
+ {
+ "name": "seg",
+ "schema": null,
+ "default_version": "1.3",
+ "installed_version": null,
+ "comment": "data type for representing line segments or floating-point intervals"
+ },
+ {
+ "name": "sslinfo",
+ "schema": null,
+ "default_version": "1.2",
+ "installed_version": null,
+ "comment": "information about SSL certificates"
+ },
+ {
+ "name": "tablefunc",
+ "schema": null,
+ "default_version": "1.0",
+ "installed_version": null,
+ "comment": "functions that manipulate whole tables, including crosstab"
+ },
+ {
+ "name": "tcn",
+ "schema": null,
+ "default_version": "1.0",
+ "installed_version": null,
+ "comment": "Triggered change notifications"
+ },
+ {
+ "name": "tsm_system_rows",
+ "schema": null,
+ "default_version": "1.0",
+ "installed_version": null,
+ "comment": "TABLESAMPLE method which accepts number of rows as a limit"
+ },
+ {
+ "name": "tsm_system_time",
+ "schema": null,
+ "default_version": "1.0",
+ "installed_version": null,
+ "comment": "TABLESAMPLE method which accepts time in milliseconds as a limit"
+ },
+ {
+ "name": "unaccent",
+ "schema": null,
+ "default_version": "1.1",
+ "installed_version": null,
+ "comment": "text search dictionary that removes accents"
+ },
+ {
+ "name": "uuid-ossp",
+ "schema": "extensions",
+ "default_version": "1.1",
+ "installed_version": "1.1",
+ "comment": "generate universally unique identifiers (UUIDs)"
+ },
+ {
+ "name": "xml2",
+ "schema": null,
+ "default_version": "1.1",
+ "installed_version": null,
+ "comment": "XPath querying and XSLT"
+ }
+]
diff --git a/apps/temp-docs/data/footer.json b/apps/temp-docs/data/footer.json
new file mode 100644
index 00000000000..bc33f9be523
--- /dev/null
+++ b/apps/temp-docs/data/footer.json
@@ -0,0 +1,86 @@
+[
+ {
+ "title": "Company",
+ "links": [
+ {
+ "text": "Blog",
+ "url": "https://supabase.com/blog"
+ },
+ {
+ "text": "Open Source",
+ "url": "/oss"
+ },
+ {
+ "text": "Humans.txt",
+ "url": "/humans.txt"
+ },
+ {
+ "text": "Lawyers.txt",
+ "url": "/lawyers.txt"
+ }
+ ]
+ },
+ {
+ "title": "Resources",
+ "links": [
+ {
+ "text": "Brand Assets",
+ "url": "https://supabase.com/brand-assets"
+ },
+ {
+ "text": "Docs",
+ "url": "/docs/"
+ },
+ {
+ "text": "Pricing",
+ "url": "https://supabase.com/pricing"
+ },
+ {
+ "text": "Support",
+ "url": "/docs/support"
+ },
+ {
+ "text": "System Status",
+ "url": "https://status.supabase.com/"
+ }
+ ]
+ },
+ {
+ "title": "Community",
+ "links": [
+ {
+ "text": "GitHub",
+ "url": "https://github.com/supabase/supabase"
+ },
+ {
+ "text": "Twitter",
+ "url": "https://twitter.com/supabase"
+ },
+ {
+ "text": "DevTo",
+ "url": "https://dev.to/supabase"
+ },
+ {
+ "text": "RSS",
+ "url": "https://supabase.com/rss.xml"
+ },
+ {
+ "text": "Discord",
+ "url": "https://discord.supabase.com/"
+ },
+ {
+ "text": "Youtube",
+ "url": "https://youtube.com/c/supabase"
+ }
+ ]
+ },
+ {
+ "title": "Beta",
+ "links": [
+ {
+ "text": "Join our beta",
+ "url": "https://app.supabase.io/"
+ }
+ ]
+ }
+]
\ No newline at end of file
diff --git a/apps/temp-docs/data/github.js b/apps/temp-docs/data/github.js
new file mode 100644
index 00000000000..624f291bde7
--- /dev/null
+++ b/apps/temp-docs/data/github.js
@@ -0,0 +1,11 @@
+import supabase from './repos/supabase.json'
+import realtime from './repos/realtime.json'
+// import marketplace from './repos/marketplace.json'
+import postgres from './repos/postgres.json'
+import doctestJs from './repos/doctest-js.json'
+import postgrestJs from './repos/postgrest-js.json'
+import postgresApi from './repos/pg-api.json'
+
+const repos = [supabase, realtime, postgrestJs, postgres, doctestJs, postgresApi]
+
+export { repos, postgrestJs }
diff --git a/apps/temp-docs/data/maintainers.json b/apps/temp-docs/data/maintainers.json
new file mode 100644
index 00000000000..51523e20bd9
--- /dev/null
+++ b/apps/temp-docs/data/maintainers.json
@@ -0,0 +1,37 @@
+[
+ {
+ "handle": "thorwebdev",
+ "description": "Steering committee",
+ "tags": ["Community", "JS/TS", "Documentation"]
+ },
+ {
+ "handle": "lqmanh",
+ "description": "Python contributor",
+ "tags": ["Python"]
+ },
+ {
+ "handle": "zlwaterfield",
+ "description": "Finding lots of bugs",
+ "tags": ["Community", "Documentation"]
+ },
+ {
+ "handle": "aliharis",
+ "description": "Python contributor",
+ "tags": ["Python"]
+ },
+ {
+ "handle": "logankilpatrick",
+ "description": "Community oversight",
+ "tags": ["Community", "JS/TS"]
+ },
+ {
+ "handle": "0az",
+ "description": "Python contributor",
+ "tags": ["Python"]
+ },
+ {
+ "handle": "acupofjose",
+ "description": "C# contributor",
+ "tags": ["C#"]
+ }
+]
diff --git a/apps/temp-docs/data/repos/.github.json b/apps/temp-docs/data/repos/.github.json
new file mode 100644
index 00000000000..6330c128238
--- /dev/null
+++ b/apps/temp-docs/data/repos/.github.json
@@ -0,0 +1,117 @@
+{
+ "id": 288653469,
+ "node_id": "MDEwOlJlcG9zaXRvcnkyODg2NTM0Njk=",
+ "name": ".github",
+ "full_name": "supabase/.github",
+ "private": false,
+ "owner": {
+ "login": "supabase",
+ "id": 54469796,
+ "node_id": "MDEyOk9yZ2FuaXphdGlvbjU0NDY5Nzk2",
+ "avatar_url": "https://avatars.githubusercontent.com/u/54469796?v=4",
+ "gravatar_id": "",
+ "url": "https://api.github.com/users/supabase",
+ "html_url": "https://github.com/supabase",
+ "followers_url": "https://api.github.com/users/supabase/followers",
+ "following_url": "https://api.github.com/users/supabase/following{/other_user}",
+ "gists_url": "https://api.github.com/users/supabase/gists{/gist_id}",
+ "starred_url": "https://api.github.com/users/supabase/starred{/owner}{/repo}",
+ "subscriptions_url": "https://api.github.com/users/supabase/subscriptions",
+ "organizations_url": "https://api.github.com/users/supabase/orgs",
+ "repos_url": "https://api.github.com/users/supabase/repos",
+ "events_url": "https://api.github.com/users/supabase/events{/privacy}",
+ "received_events_url": "https://api.github.com/users/supabase/received_events",
+ "type": "Organization",
+ "site_admin": false
+ },
+ "html_url": "https://github.com/supabase/.github",
+ "description": "Org-wide default community health files & templates.",
+ "fork": false,
+ "url": "https://api.github.com/repos/supabase/.github",
+ "forks_url": "https://api.github.com/repos/supabase/.github/forks",
+ "keys_url": "https://api.github.com/repos/supabase/.github/keys{/key_id}",
+ "collaborators_url": "https://api.github.com/repos/supabase/.github/collaborators{/collaborator}",
+ "teams_url": "https://api.github.com/repos/supabase/.github/teams",
+ "hooks_url": "https://api.github.com/repos/supabase/.github/hooks",
+ "issue_events_url": "https://api.github.com/repos/supabase/.github/issues/events{/number}",
+ "events_url": "https://api.github.com/repos/supabase/.github/events",
+ "assignees_url": "https://api.github.com/repos/supabase/.github/assignees{/user}",
+ "branches_url": "https://api.github.com/repos/supabase/.github/branches{/branch}",
+ "tags_url": "https://api.github.com/repos/supabase/.github/tags",
+ "blobs_url": "https://api.github.com/repos/supabase/.github/git/blobs{/sha}",
+ "git_tags_url": "https://api.github.com/repos/supabase/.github/git/tags{/sha}",
+ "git_refs_url": "https://api.github.com/repos/supabase/.github/git/refs{/sha}",
+ "trees_url": "https://api.github.com/repos/supabase/.github/git/trees{/sha}",
+ "statuses_url": "https://api.github.com/repos/supabase/.github/statuses/{sha}",
+ "languages_url": "https://api.github.com/repos/supabase/.github/languages",
+ "stargazers_url": "https://api.github.com/repos/supabase/.github/stargazers",
+ "contributors_url": "https://api.github.com/repos/supabase/.github/contributors",
+ "subscribers_url": "https://api.github.com/repos/supabase/.github/subscribers",
+ "subscription_url": "https://api.github.com/repos/supabase/.github/subscription",
+ "commits_url": "https://api.github.com/repos/supabase/.github/commits{/sha}",
+ "git_commits_url": "https://api.github.com/repos/supabase/.github/git/commits{/sha}",
+ "comments_url": "https://api.github.com/repos/supabase/.github/comments{/number}",
+ "issue_comment_url": "https://api.github.com/repos/supabase/.github/issues/comments{/number}",
+ "contents_url": "https://api.github.com/repos/supabase/.github/contents/{+path}",
+ "compare_url": "https://api.github.com/repos/supabase/.github/compare/{base}...{head}",
+ "merges_url": "https://api.github.com/repos/supabase/.github/merges",
+ "archive_url": "https://api.github.com/repos/supabase/.github/{archive_format}{/ref}",
+ "downloads_url": "https://api.github.com/repos/supabase/.github/downloads",
+ "issues_url": "https://api.github.com/repos/supabase/.github/issues{/number}",
+ "pulls_url": "https://api.github.com/repos/supabase/.github/pulls{/number}",
+ "milestones_url": "https://api.github.com/repos/supabase/.github/milestones{/number}",
+ "notifications_url": "https://api.github.com/repos/supabase/.github/notifications{?since,all,participating}",
+ "labels_url": "https://api.github.com/repos/supabase/.github/labels{/name}",
+ "releases_url": "https://api.github.com/repos/supabase/.github/releases{/id}",
+ "deployments_url": "https://api.github.com/repos/supabase/.github/deployments",
+ "created_at": "2020-08-19T06:35:23Z",
+ "updated_at": "2020-12-04T06:26:42Z",
+ "pushed_at": "2020-09-18T03:24:56Z",
+ "git_url": "git://github.com/supabase/.github.git",
+ "ssh_url": "git@github.com:supabase/.github.git",
+ "clone_url": "https://github.com/supabase/.github.git",
+ "svn_url": "https://github.com/supabase/.github",
+ "homepage": "https://supabase.com/",
+ "size": 10,
+ "stargazers_count": 2,
+ "watchers_count": 2,
+ "language": null,
+ "has_issues": true,
+ "has_projects": true,
+ "has_downloads": true,
+ "has_wiki": true,
+ "has_pages": false,
+ "forks_count": 0,
+ "mirror_url": null,
+ "archived": false,
+ "disabled": false,
+ "open_issues_count": 0,
+ "license": null,
+ "forks": 0,
+ "open_issues": 0,
+ "watchers": 2,
+ "default_branch": "main",
+ "temp_clone_token": null,
+ "organization": {
+ "login": "supabase",
+ "id": 54469796,
+ "node_id": "MDEyOk9yZ2FuaXphdGlvbjU0NDY5Nzk2",
+ "avatar_url": "https://avatars.githubusercontent.com/u/54469796?v=4",
+ "gravatar_id": "",
+ "url": "https://api.github.com/users/supabase",
+ "html_url": "https://github.com/supabase",
+ "followers_url": "https://api.github.com/users/supabase/followers",
+ "following_url": "https://api.github.com/users/supabase/following{/other_user}",
+ "gists_url": "https://api.github.com/users/supabase/gists{/gist_id}",
+ "starred_url": "https://api.github.com/users/supabase/starred{/owner}{/repo}",
+ "subscriptions_url": "https://api.github.com/users/supabase/subscriptions",
+ "organizations_url": "https://api.github.com/users/supabase/orgs",
+ "repos_url": "https://api.github.com/users/supabase/repos",
+ "events_url": "https://api.github.com/users/supabase/events{/privacy}",
+ "received_events_url": "https://api.github.com/users/supabase/received_events",
+ "type": "Organization",
+ "site_admin": false
+ },
+ "network_count": 0,
+ "subscribers_count": 2
+}
diff --git a/apps/temp-docs/data/repos/benchmarks.json b/apps/temp-docs/data/repos/benchmarks.json
new file mode 100644
index 00000000000..e140613307c
--- /dev/null
+++ b/apps/temp-docs/data/repos/benchmarks.json
@@ -0,0 +1,123 @@
+{
+ "id": 298483351,
+ "node_id": "MDEwOlJlcG9zaXRvcnkyOTg0ODMzNTE=",
+ "name": "benchmarks",
+ "full_name": "supabase/benchmarks",
+ "private": false,
+ "owner": {
+ "login": "supabase",
+ "id": 54469796,
+ "node_id": "MDEyOk9yZ2FuaXphdGlvbjU0NDY5Nzk2",
+ "avatar_url": "https://avatars.githubusercontent.com/u/54469796?v=4",
+ "gravatar_id": "",
+ "url": "https://api.github.com/users/supabase",
+ "html_url": "https://github.com/supabase",
+ "followers_url": "https://api.github.com/users/supabase/followers",
+ "following_url": "https://api.github.com/users/supabase/following{/other_user}",
+ "gists_url": "https://api.github.com/users/supabase/gists{/gist_id}",
+ "starred_url": "https://api.github.com/users/supabase/starred{/owner}{/repo}",
+ "subscriptions_url": "https://api.github.com/users/supabase/subscriptions",
+ "organizations_url": "https://api.github.com/users/supabase/orgs",
+ "repos_url": "https://api.github.com/users/supabase/repos",
+ "events_url": "https://api.github.com/users/supabase/events{/privacy}",
+ "received_events_url": "https://api.github.com/users/supabase/received_events",
+ "type": "Organization",
+ "site_admin": false
+ },
+ "html_url": "https://github.com/supabase/benchmarks",
+ "description": "Infrastucture benchmarks",
+ "fork": false,
+ "url": "https://api.github.com/repos/supabase/benchmarks",
+ "forks_url": "https://api.github.com/repos/supabase/benchmarks/forks",
+ "keys_url": "https://api.github.com/repos/supabase/benchmarks/keys{/key_id}",
+ "collaborators_url": "https://api.github.com/repos/supabase/benchmarks/collaborators{/collaborator}",
+ "teams_url": "https://api.github.com/repos/supabase/benchmarks/teams",
+ "hooks_url": "https://api.github.com/repos/supabase/benchmarks/hooks",
+ "issue_events_url": "https://api.github.com/repos/supabase/benchmarks/issues/events{/number}",
+ "events_url": "https://api.github.com/repos/supabase/benchmarks/events",
+ "assignees_url": "https://api.github.com/repos/supabase/benchmarks/assignees{/user}",
+ "branches_url": "https://api.github.com/repos/supabase/benchmarks/branches{/branch}",
+ "tags_url": "https://api.github.com/repos/supabase/benchmarks/tags",
+ "blobs_url": "https://api.github.com/repos/supabase/benchmarks/git/blobs{/sha}",
+ "git_tags_url": "https://api.github.com/repos/supabase/benchmarks/git/tags{/sha}",
+ "git_refs_url": "https://api.github.com/repos/supabase/benchmarks/git/refs{/sha}",
+ "trees_url": "https://api.github.com/repos/supabase/benchmarks/git/trees{/sha}",
+ "statuses_url": "https://api.github.com/repos/supabase/benchmarks/statuses/{sha}",
+ "languages_url": "https://api.github.com/repos/supabase/benchmarks/languages",
+ "stargazers_url": "https://api.github.com/repos/supabase/benchmarks/stargazers",
+ "contributors_url": "https://api.github.com/repos/supabase/benchmarks/contributors",
+ "subscribers_url": "https://api.github.com/repos/supabase/benchmarks/subscribers",
+ "subscription_url": "https://api.github.com/repos/supabase/benchmarks/subscription",
+ "commits_url": "https://api.github.com/repos/supabase/benchmarks/commits{/sha}",
+ "git_commits_url": "https://api.github.com/repos/supabase/benchmarks/git/commits{/sha}",
+ "comments_url": "https://api.github.com/repos/supabase/benchmarks/comments{/number}",
+ "issue_comment_url": "https://api.github.com/repos/supabase/benchmarks/issues/comments{/number}",
+ "contents_url": "https://api.github.com/repos/supabase/benchmarks/contents/{+path}",
+ "compare_url": "https://api.github.com/repos/supabase/benchmarks/compare/{base}...{head}",
+ "merges_url": "https://api.github.com/repos/supabase/benchmarks/merges",
+ "archive_url": "https://api.github.com/repos/supabase/benchmarks/{archive_format}{/ref}",
+ "downloads_url": "https://api.github.com/repos/supabase/benchmarks/downloads",
+ "issues_url": "https://api.github.com/repos/supabase/benchmarks/issues{/number}",
+ "pulls_url": "https://api.github.com/repos/supabase/benchmarks/pulls{/number}",
+ "milestones_url": "https://api.github.com/repos/supabase/benchmarks/milestones{/number}",
+ "notifications_url": "https://api.github.com/repos/supabase/benchmarks/notifications{?since,all,participating}",
+ "labels_url": "https://api.github.com/repos/supabase/benchmarks/labels{/name}",
+ "releases_url": "https://api.github.com/repos/supabase/benchmarks/releases{/id}",
+ "deployments_url": "https://api.github.com/repos/supabase/benchmarks/deployments",
+ "created_at": "2020-09-25T06:09:13Z",
+ "updated_at": "2021-02-06T11:51:48Z",
+ "pushed_at": "2021-02-06T11:51:44Z",
+ "git_url": "git://github.com/supabase/benchmarks.git",
+ "ssh_url": "git@github.com:supabase/benchmarks.git",
+ "clone_url": "https://github.com/supabase/benchmarks.git",
+ "svn_url": "https://github.com/supabase/benchmarks",
+ "homepage": "https://supabase.com",
+ "size": 9251,
+ "stargazers_count": 13,
+ "watchers_count": 13,
+ "language": "JavaScript",
+ "has_issues": true,
+ "has_projects": true,
+ "has_downloads": true,
+ "has_wiki": true,
+ "has_pages": false,
+ "forks_count": 1,
+ "mirror_url": null,
+ "archived": false,
+ "disabled": false,
+ "open_issues_count": 6,
+ "license": {
+ "key": "mit",
+ "name": "MIT License",
+ "spdx_id": "MIT",
+ "url": "https://api.github.com/licenses/mit",
+ "node_id": "MDc6TGljZW5zZTEz"
+ },
+ "forks": 1,
+ "open_issues": 6,
+ "watchers": 13,
+ "default_branch": "master",
+ "temp_clone_token": null,
+ "organization": {
+ "login": "supabase",
+ "id": 54469796,
+ "node_id": "MDEyOk9yZ2FuaXphdGlvbjU0NDY5Nzk2",
+ "avatar_url": "https://avatars.githubusercontent.com/u/54469796?v=4",
+ "gravatar_id": "",
+ "url": "https://api.github.com/users/supabase",
+ "html_url": "https://github.com/supabase",
+ "followers_url": "https://api.github.com/users/supabase/followers",
+ "following_url": "https://api.github.com/users/supabase/following{/other_user}",
+ "gists_url": "https://api.github.com/users/supabase/gists{/gist_id}",
+ "starred_url": "https://api.github.com/users/supabase/starred{/owner}{/repo}",
+ "subscriptions_url": "https://api.github.com/users/supabase/subscriptions",
+ "organizations_url": "https://api.github.com/users/supabase/orgs",
+ "repos_url": "https://api.github.com/users/supabase/repos",
+ "events_url": "https://api.github.com/users/supabase/events{/privacy}",
+ "received_events_url": "https://api.github.com/users/supabase/received_events",
+ "type": "Organization",
+ "site_admin": false
+ },
+ "network_count": 1,
+ "subscribers_count": 6
+}
diff --git a/apps/temp-docs/data/repos/cli.json b/apps/temp-docs/data/repos/cli.json
new file mode 100644
index 00000000000..cf0db8475a0
--- /dev/null
+++ b/apps/temp-docs/data/repos/cli.json
@@ -0,0 +1,123 @@
+{
+ "id": 314160187,
+ "node_id": "MDEwOlJlcG9zaXRvcnkzMTQxNjAxODc=",
+ "name": "cli",
+ "full_name": "supabase/cli",
+ "private": false,
+ "owner": {
+ "login": "supabase",
+ "id": 54469796,
+ "node_id": "MDEyOk9yZ2FuaXphdGlvbjU0NDY5Nzk2",
+ "avatar_url": "https://avatars.githubusercontent.com/u/54469796?v=4",
+ "gravatar_id": "",
+ "url": "https://api.github.com/users/supabase",
+ "html_url": "https://github.com/supabase",
+ "followers_url": "https://api.github.com/users/supabase/followers",
+ "following_url": "https://api.github.com/users/supabase/following{/other_user}",
+ "gists_url": "https://api.github.com/users/supabase/gists{/gist_id}",
+ "starred_url": "https://api.github.com/users/supabase/starred{/owner}{/repo}",
+ "subscriptions_url": "https://api.github.com/users/supabase/subscriptions",
+ "organizations_url": "https://api.github.com/users/supabase/orgs",
+ "repos_url": "https://api.github.com/users/supabase/repos",
+ "events_url": "https://api.github.com/users/supabase/events{/privacy}",
+ "received_events_url": "https://api.github.com/users/supabase/received_events",
+ "type": "Organization",
+ "site_admin": false
+ },
+ "html_url": "https://github.com/supabase/cli",
+ "description": "Developer tools and helpers.",
+ "fork": false,
+ "url": "https://api.github.com/repos/supabase/cli",
+ "forks_url": "https://api.github.com/repos/supabase/cli/forks",
+ "keys_url": "https://api.github.com/repos/supabase/cli/keys{/key_id}",
+ "collaborators_url": "https://api.github.com/repos/supabase/cli/collaborators{/collaborator}",
+ "teams_url": "https://api.github.com/repos/supabase/cli/teams",
+ "hooks_url": "https://api.github.com/repos/supabase/cli/hooks",
+ "issue_events_url": "https://api.github.com/repos/supabase/cli/issues/events{/number}",
+ "events_url": "https://api.github.com/repos/supabase/cli/events",
+ "assignees_url": "https://api.github.com/repos/supabase/cli/assignees{/user}",
+ "branches_url": "https://api.github.com/repos/supabase/cli/branches{/branch}",
+ "tags_url": "https://api.github.com/repos/supabase/cli/tags",
+ "blobs_url": "https://api.github.com/repos/supabase/cli/git/blobs{/sha}",
+ "git_tags_url": "https://api.github.com/repos/supabase/cli/git/tags{/sha}",
+ "git_refs_url": "https://api.github.com/repos/supabase/cli/git/refs{/sha}",
+ "trees_url": "https://api.github.com/repos/supabase/cli/git/trees{/sha}",
+ "statuses_url": "https://api.github.com/repos/supabase/cli/statuses/{sha}",
+ "languages_url": "https://api.github.com/repos/supabase/cli/languages",
+ "stargazers_url": "https://api.github.com/repos/supabase/cli/stargazers",
+ "contributors_url": "https://api.github.com/repos/supabase/cli/contributors",
+ "subscribers_url": "https://api.github.com/repos/supabase/cli/subscribers",
+ "subscription_url": "https://api.github.com/repos/supabase/cli/subscription",
+ "commits_url": "https://api.github.com/repos/supabase/cli/commits{/sha}",
+ "git_commits_url": "https://api.github.com/repos/supabase/cli/git/commits{/sha}",
+ "comments_url": "https://api.github.com/repos/supabase/cli/comments{/number}",
+ "issue_comment_url": "https://api.github.com/repos/supabase/cli/issues/comments{/number}",
+ "contents_url": "https://api.github.com/repos/supabase/cli/contents/{+path}",
+ "compare_url": "https://api.github.com/repos/supabase/cli/compare/{base}...{head}",
+ "merges_url": "https://api.github.com/repos/supabase/cli/merges",
+ "archive_url": "https://api.github.com/repos/supabase/cli/{archive_format}{/ref}",
+ "downloads_url": "https://api.github.com/repos/supabase/cli/downloads",
+ "issues_url": "https://api.github.com/repos/supabase/cli/issues{/number}",
+ "pulls_url": "https://api.github.com/repos/supabase/cli/pulls{/number}",
+ "milestones_url": "https://api.github.com/repos/supabase/cli/milestones{/number}",
+ "notifications_url": "https://api.github.com/repos/supabase/cli/notifications{?since,all,participating}",
+ "labels_url": "https://api.github.com/repos/supabase/cli/labels{/name}",
+ "releases_url": "https://api.github.com/repos/supabase/cli/releases{/id}",
+ "deployments_url": "https://api.github.com/repos/supabase/cli/deployments",
+ "created_at": "2020-11-19T06:46:55Z",
+ "updated_at": "2021-02-14T08:01:54Z",
+ "pushed_at": "2021-02-14T08:04:07Z",
+ "git_url": "git://github.com/supabase/cli.git",
+ "ssh_url": "git@github.com:supabase/cli.git",
+ "clone_url": "https://github.com/supabase/cli.git",
+ "svn_url": "https://github.com/supabase/cli",
+ "homepage": "https://supabase.com",
+ "size": 131,
+ "stargazers_count": 7,
+ "watchers_count": 7,
+ "language": "TypeScript",
+ "has_issues": true,
+ "has_projects": true,
+ "has_downloads": true,
+ "has_wiki": true,
+ "has_pages": false,
+ "forks_count": 1,
+ "mirror_url": null,
+ "archived": false,
+ "disabled": false,
+ "open_issues_count": 2,
+ "license": {
+ "key": "mit",
+ "name": "MIT License",
+ "spdx_id": "MIT",
+ "url": "https://api.github.com/licenses/mit",
+ "node_id": "MDc6TGljZW5zZTEz"
+ },
+ "forks": 1,
+ "open_issues": 2,
+ "watchers": 7,
+ "default_branch": "main",
+ "temp_clone_token": null,
+ "organization": {
+ "login": "supabase",
+ "id": 54469796,
+ "node_id": "MDEyOk9yZ2FuaXphdGlvbjU0NDY5Nzk2",
+ "avatar_url": "https://avatars.githubusercontent.com/u/54469796?v=4",
+ "gravatar_id": "",
+ "url": "https://api.github.com/users/supabase",
+ "html_url": "https://github.com/supabase",
+ "followers_url": "https://api.github.com/users/supabase/followers",
+ "following_url": "https://api.github.com/users/supabase/following{/other_user}",
+ "gists_url": "https://api.github.com/users/supabase/gists{/gist_id}",
+ "starred_url": "https://api.github.com/users/supabase/starred{/owner}{/repo}",
+ "subscriptions_url": "https://api.github.com/users/supabase/subscriptions",
+ "organizations_url": "https://api.github.com/users/supabase/orgs",
+ "repos_url": "https://api.github.com/users/supabase/repos",
+ "events_url": "https://api.github.com/users/supabase/events{/privacy}",
+ "received_events_url": "https://api.github.com/users/supabase/received_events",
+ "type": "Organization",
+ "site_admin": false
+ },
+ "network_count": 1,
+ "subscribers_count": 3
+}
diff --git a/apps/temp-docs/data/repos/doctest-js.json b/apps/temp-docs/data/repos/doctest-js.json
new file mode 100644
index 00000000000..4c46b992162
--- /dev/null
+++ b/apps/temp-docs/data/repos/doctest-js.json
@@ -0,0 +1,123 @@
+{
+ "id": 236905403,
+ "node_id": "MDEwOlJlcG9zaXRvcnkyMzY5MDU0MDM=",
+ "name": "doctest-js",
+ "full_name": "supabase/doctest-js",
+ "private": false,
+ "owner": {
+ "login": "supabase",
+ "id": 54469796,
+ "node_id": "MDEyOk9yZ2FuaXphdGlvbjU0NDY5Nzk2",
+ "avatar_url": "https://avatars.githubusercontent.com/u/54469796?v=4",
+ "gravatar_id": "",
+ "url": "https://api.github.com/users/supabase",
+ "html_url": "https://github.com/supabase",
+ "followers_url": "https://api.github.com/users/supabase/followers",
+ "following_url": "https://api.github.com/users/supabase/following{/other_user}",
+ "gists_url": "https://api.github.com/users/supabase/gists{/gist_id}",
+ "starred_url": "https://api.github.com/users/supabase/starred{/owner}{/repo}",
+ "subscriptions_url": "https://api.github.com/users/supabase/subscriptions",
+ "organizations_url": "https://api.github.com/users/supabase/orgs",
+ "repos_url": "https://api.github.com/users/supabase/repos",
+ "events_url": "https://api.github.com/users/supabase/events{/privacy}",
+ "received_events_url": "https://api.github.com/users/supabase/received_events",
+ "type": "Organization",
+ "site_admin": false
+ },
+ "html_url": "https://github.com/supabase/doctest-js",
+ "description": "Run JSDoc style doc examples as tests within your test suite",
+ "fork": false,
+ "url": "https://api.github.com/repos/supabase/doctest-js",
+ "forks_url": "https://api.github.com/repos/supabase/doctest-js/forks",
+ "keys_url": "https://api.github.com/repos/supabase/doctest-js/keys{/key_id}",
+ "collaborators_url": "https://api.github.com/repos/supabase/doctest-js/collaborators{/collaborator}",
+ "teams_url": "https://api.github.com/repos/supabase/doctest-js/teams",
+ "hooks_url": "https://api.github.com/repos/supabase/doctest-js/hooks",
+ "issue_events_url": "https://api.github.com/repos/supabase/doctest-js/issues/events{/number}",
+ "events_url": "https://api.github.com/repos/supabase/doctest-js/events",
+ "assignees_url": "https://api.github.com/repos/supabase/doctest-js/assignees{/user}",
+ "branches_url": "https://api.github.com/repos/supabase/doctest-js/branches{/branch}",
+ "tags_url": "https://api.github.com/repos/supabase/doctest-js/tags",
+ "blobs_url": "https://api.github.com/repos/supabase/doctest-js/git/blobs{/sha}",
+ "git_tags_url": "https://api.github.com/repos/supabase/doctest-js/git/tags{/sha}",
+ "git_refs_url": "https://api.github.com/repos/supabase/doctest-js/git/refs{/sha}",
+ "trees_url": "https://api.github.com/repos/supabase/doctest-js/git/trees{/sha}",
+ "statuses_url": "https://api.github.com/repos/supabase/doctest-js/statuses/{sha}",
+ "languages_url": "https://api.github.com/repos/supabase/doctest-js/languages",
+ "stargazers_url": "https://api.github.com/repos/supabase/doctest-js/stargazers",
+ "contributors_url": "https://api.github.com/repos/supabase/doctest-js/contributors",
+ "subscribers_url": "https://api.github.com/repos/supabase/doctest-js/subscribers",
+ "subscription_url": "https://api.github.com/repos/supabase/doctest-js/subscription",
+ "commits_url": "https://api.github.com/repos/supabase/doctest-js/commits{/sha}",
+ "git_commits_url": "https://api.github.com/repos/supabase/doctest-js/git/commits{/sha}",
+ "comments_url": "https://api.github.com/repos/supabase/doctest-js/comments{/number}",
+ "issue_comment_url": "https://api.github.com/repos/supabase/doctest-js/issues/comments{/number}",
+ "contents_url": "https://api.github.com/repos/supabase/doctest-js/contents/{+path}",
+ "compare_url": "https://api.github.com/repos/supabase/doctest-js/compare/{base}...{head}",
+ "merges_url": "https://api.github.com/repos/supabase/doctest-js/merges",
+ "archive_url": "https://api.github.com/repos/supabase/doctest-js/{archive_format}{/ref}",
+ "downloads_url": "https://api.github.com/repos/supabase/doctest-js/downloads",
+ "issues_url": "https://api.github.com/repos/supabase/doctest-js/issues{/number}",
+ "pulls_url": "https://api.github.com/repos/supabase/doctest-js/pulls{/number}",
+ "milestones_url": "https://api.github.com/repos/supabase/doctest-js/milestones{/number}",
+ "notifications_url": "https://api.github.com/repos/supabase/doctest-js/notifications{?since,all,participating}",
+ "labels_url": "https://api.github.com/repos/supabase/doctest-js/labels{/name}",
+ "releases_url": "https://api.github.com/repos/supabase/doctest-js/releases{/id}",
+ "deployments_url": "https://api.github.com/repos/supabase/doctest-js/deployments",
+ "created_at": "2020-01-29T04:51:25Z",
+ "updated_at": "2021-02-14T08:46:07Z",
+ "pushed_at": "2020-12-22T16:32:15Z",
+ "git_url": "git://github.com/supabase/doctest-js.git",
+ "ssh_url": "git@github.com:supabase/doctest-js.git",
+ "clone_url": "https://github.com/supabase/doctest-js.git",
+ "svn_url": "https://github.com/supabase/doctest-js",
+ "homepage": "",
+ "size": 1623,
+ "stargazers_count": 52,
+ "watchers_count": 52,
+ "language": "JavaScript",
+ "has_issues": true,
+ "has_projects": true,
+ "has_downloads": true,
+ "has_wiki": false,
+ "has_pages": false,
+ "forks_count": 2,
+ "mirror_url": null,
+ "archived": false,
+ "disabled": false,
+ "open_issues_count": 2,
+ "license": {
+ "key": "mit",
+ "name": "MIT License",
+ "spdx_id": "MIT",
+ "url": "https://api.github.com/licenses/mit",
+ "node_id": "MDc6TGljZW5zZTEz"
+ },
+ "forks": 2,
+ "open_issues": 2,
+ "watchers": 52,
+ "default_branch": "master",
+ "temp_clone_token": null,
+ "organization": {
+ "login": "supabase",
+ "id": 54469796,
+ "node_id": "MDEyOk9yZ2FuaXphdGlvbjU0NDY5Nzk2",
+ "avatar_url": "https://avatars.githubusercontent.com/u/54469796?v=4",
+ "gravatar_id": "",
+ "url": "https://api.github.com/users/supabase",
+ "html_url": "https://github.com/supabase",
+ "followers_url": "https://api.github.com/users/supabase/followers",
+ "following_url": "https://api.github.com/users/supabase/following{/other_user}",
+ "gists_url": "https://api.github.com/users/supabase/gists{/gist_id}",
+ "starred_url": "https://api.github.com/users/supabase/starred{/owner}{/repo}",
+ "subscriptions_url": "https://api.github.com/users/supabase/subscriptions",
+ "organizations_url": "https://api.github.com/users/supabase/orgs",
+ "repos_url": "https://api.github.com/users/supabase/repos",
+ "events_url": "https://api.github.com/users/supabase/events{/privacy}",
+ "received_events_url": "https://api.github.com/users/supabase/received_events",
+ "type": "Organization",
+ "site_admin": false
+ },
+ "network_count": 2,
+ "subscribers_count": 3
+}
diff --git a/apps/temp-docs/data/repos/gotrue-csharp.json b/apps/temp-docs/data/repos/gotrue-csharp.json
new file mode 100644
index 00000000000..d11fcbaea83
--- /dev/null
+++ b/apps/temp-docs/data/repos/gotrue-csharp.json
@@ -0,0 +1,123 @@
+{
+ "id": 334638542,
+ "node_id": "MDEwOlJlcG9zaXRvcnkzMzQ2Mzg1NDI=",
+ "name": "gotrue-csharp",
+ "full_name": "supabase/gotrue-csharp",
+ "private": false,
+ "owner": {
+ "login": "supabase",
+ "id": 54469796,
+ "node_id": "MDEyOk9yZ2FuaXphdGlvbjU0NDY5Nzk2",
+ "avatar_url": "https://avatars.githubusercontent.com/u/54469796?v=4",
+ "gravatar_id": "",
+ "url": "https://api.github.com/users/supabase",
+ "html_url": "https://github.com/supabase",
+ "followers_url": "https://api.github.com/users/supabase/followers",
+ "following_url": "https://api.github.com/users/supabase/following{/other_user}",
+ "gists_url": "https://api.github.com/users/supabase/gists{/gist_id}",
+ "starred_url": "https://api.github.com/users/supabase/starred{/owner}{/repo}",
+ "subscriptions_url": "https://api.github.com/users/supabase/subscriptions",
+ "organizations_url": "https://api.github.com/users/supabase/orgs",
+ "repos_url": "https://api.github.com/users/supabase/repos",
+ "events_url": "https://api.github.com/users/supabase/events{/privacy}",
+ "received_events_url": "https://api.github.com/users/supabase/received_events",
+ "type": "Organization",
+ "site_admin": false
+ },
+ "html_url": "https://github.com/supabase/gotrue-csharp",
+ "description": "A C# interface for gotrue",
+ "fork": false,
+ "url": "https://api.github.com/repos/supabase/gotrue-csharp",
+ "forks_url": "https://api.github.com/repos/supabase/gotrue-csharp/forks",
+ "keys_url": "https://api.github.com/repos/supabase/gotrue-csharp/keys{/key_id}",
+ "collaborators_url": "https://api.github.com/repos/supabase/gotrue-csharp/collaborators{/collaborator}",
+ "teams_url": "https://api.github.com/repos/supabase/gotrue-csharp/teams",
+ "hooks_url": "https://api.github.com/repos/supabase/gotrue-csharp/hooks",
+ "issue_events_url": "https://api.github.com/repos/supabase/gotrue-csharp/issues/events{/number}",
+ "events_url": "https://api.github.com/repos/supabase/gotrue-csharp/events",
+ "assignees_url": "https://api.github.com/repos/supabase/gotrue-csharp/assignees{/user}",
+ "branches_url": "https://api.github.com/repos/supabase/gotrue-csharp/branches{/branch}",
+ "tags_url": "https://api.github.com/repos/supabase/gotrue-csharp/tags",
+ "blobs_url": "https://api.github.com/repos/supabase/gotrue-csharp/git/blobs{/sha}",
+ "git_tags_url": "https://api.github.com/repos/supabase/gotrue-csharp/git/tags{/sha}",
+ "git_refs_url": "https://api.github.com/repos/supabase/gotrue-csharp/git/refs{/sha}",
+ "trees_url": "https://api.github.com/repos/supabase/gotrue-csharp/git/trees{/sha}",
+ "statuses_url": "https://api.github.com/repos/supabase/gotrue-csharp/statuses/{sha}",
+ "languages_url": "https://api.github.com/repos/supabase/gotrue-csharp/languages",
+ "stargazers_url": "https://api.github.com/repos/supabase/gotrue-csharp/stargazers",
+ "contributors_url": "https://api.github.com/repos/supabase/gotrue-csharp/contributors",
+ "subscribers_url": "https://api.github.com/repos/supabase/gotrue-csharp/subscribers",
+ "subscription_url": "https://api.github.com/repos/supabase/gotrue-csharp/subscription",
+ "commits_url": "https://api.github.com/repos/supabase/gotrue-csharp/commits{/sha}",
+ "git_commits_url": "https://api.github.com/repos/supabase/gotrue-csharp/git/commits{/sha}",
+ "comments_url": "https://api.github.com/repos/supabase/gotrue-csharp/comments{/number}",
+ "issue_comment_url": "https://api.github.com/repos/supabase/gotrue-csharp/issues/comments{/number}",
+ "contents_url": "https://api.github.com/repos/supabase/gotrue-csharp/contents/{+path}",
+ "compare_url": "https://api.github.com/repos/supabase/gotrue-csharp/compare/{base}...{head}",
+ "merges_url": "https://api.github.com/repos/supabase/gotrue-csharp/merges",
+ "archive_url": "https://api.github.com/repos/supabase/gotrue-csharp/{archive_format}{/ref}",
+ "downloads_url": "https://api.github.com/repos/supabase/gotrue-csharp/downloads",
+ "issues_url": "https://api.github.com/repos/supabase/gotrue-csharp/issues{/number}",
+ "pulls_url": "https://api.github.com/repos/supabase/gotrue-csharp/pulls{/number}",
+ "milestones_url": "https://api.github.com/repos/supabase/gotrue-csharp/milestones{/number}",
+ "notifications_url": "https://api.github.com/repos/supabase/gotrue-csharp/notifications{?since,all,participating}",
+ "labels_url": "https://api.github.com/repos/supabase/gotrue-csharp/labels{/name}",
+ "releases_url": "https://api.github.com/repos/supabase/gotrue-csharp/releases{/id}",
+ "deployments_url": "https://api.github.com/repos/supabase/gotrue-csharp/deployments",
+ "created_at": "2021-01-31T11:27:09Z",
+ "updated_at": "2021-02-15T12:53:37Z",
+ "pushed_at": "2021-02-15T12:54:48Z",
+ "git_url": "git://github.com/supabase/gotrue-csharp.git",
+ "ssh_url": "git@github.com:supabase/gotrue-csharp.git",
+ "clone_url": "https://github.com/supabase/gotrue-csharp.git",
+ "svn_url": "https://github.com/supabase/gotrue-csharp",
+ "homepage": "https://supabase.github.io/gotrue-csharp/api/Supabase.Gotrue.Client.html",
+ "size": 610,
+ "stargazers_count": 1,
+ "watchers_count": 1,
+ "language": "C#",
+ "has_issues": true,
+ "has_projects": true,
+ "has_downloads": true,
+ "has_wiki": true,
+ "has_pages": true,
+ "forks_count": 1,
+ "mirror_url": null,
+ "archived": false,
+ "disabled": false,
+ "open_issues_count": 0,
+ "license": {
+ "key": "mit",
+ "name": "MIT License",
+ "spdx_id": "MIT",
+ "url": "https://api.github.com/licenses/mit",
+ "node_id": "MDc6TGljZW5zZTEz"
+ },
+ "forks": 1,
+ "open_issues": 0,
+ "watchers": 1,
+ "default_branch": "master",
+ "temp_clone_token": null,
+ "organization": {
+ "login": "supabase",
+ "id": 54469796,
+ "node_id": "MDEyOk9yZ2FuaXphdGlvbjU0NDY5Nzk2",
+ "avatar_url": "https://avatars.githubusercontent.com/u/54469796?v=4",
+ "gravatar_id": "",
+ "url": "https://api.github.com/users/supabase",
+ "html_url": "https://github.com/supabase",
+ "followers_url": "https://api.github.com/users/supabase/followers",
+ "following_url": "https://api.github.com/users/supabase/following{/other_user}",
+ "gists_url": "https://api.github.com/users/supabase/gists{/gist_id}",
+ "starred_url": "https://api.github.com/users/supabase/starred{/owner}{/repo}",
+ "subscriptions_url": "https://api.github.com/users/supabase/subscriptions",
+ "organizations_url": "https://api.github.com/users/supabase/orgs",
+ "repos_url": "https://api.github.com/users/supabase/repos",
+ "events_url": "https://api.github.com/users/supabase/events{/privacy}",
+ "received_events_url": "https://api.github.com/users/supabase/received_events",
+ "type": "Organization",
+ "site_admin": false
+ },
+ "network_count": 1,
+ "subscribers_count": 3
+}
diff --git a/apps/temp-docs/data/repos/gotrue.json b/apps/temp-docs/data/repos/gotrue.json
new file mode 100644
index 00000000000..97f613b6a29
--- /dev/null
+++ b/apps/temp-docs/data/repos/gotrue.json
@@ -0,0 +1,323 @@
+{
+ "id": 279488921,
+ "node_id": "MDEwOlJlcG9zaXRvcnkyNzk0ODg5MjE=",
+ "name": "gotrue",
+ "full_name": "supabase/gotrue",
+ "private": false,
+ "owner": {
+ "login": "supabase",
+ "id": 54469796,
+ "node_id": "MDEyOk9yZ2FuaXphdGlvbjU0NDY5Nzk2",
+ "avatar_url": "https://avatars.githubusercontent.com/u/54469796?v=4",
+ "gravatar_id": "",
+ "url": "https://api.github.com/users/supabase",
+ "html_url": "https://github.com/supabase",
+ "followers_url": "https://api.github.com/users/supabase/followers",
+ "following_url": "https://api.github.com/users/supabase/following{/other_user}",
+ "gists_url": "https://api.github.com/users/supabase/gists{/gist_id}",
+ "starred_url": "https://api.github.com/users/supabase/starred{/owner}{/repo}",
+ "subscriptions_url": "https://api.github.com/users/supabase/subscriptions",
+ "organizations_url": "https://api.github.com/users/supabase/orgs",
+ "repos_url": "https://api.github.com/users/supabase/repos",
+ "events_url": "https://api.github.com/users/supabase/events{/privacy}",
+ "received_events_url": "https://api.github.com/users/supabase/received_events",
+ "type": "Organization",
+ "site_admin": false
+ },
+ "html_url": "https://github.com/supabase/gotrue",
+ "description": "A JWT based API for managing users and issuing JWT tokens",
+ "fork": true,
+ "url": "https://api.github.com/repos/supabase/gotrue",
+ "forks_url": "https://api.github.com/repos/supabase/gotrue/forks",
+ "keys_url": "https://api.github.com/repos/supabase/gotrue/keys{/key_id}",
+ "collaborators_url": "https://api.github.com/repos/supabase/gotrue/collaborators{/collaborator}",
+ "teams_url": "https://api.github.com/repos/supabase/gotrue/teams",
+ "hooks_url": "https://api.github.com/repos/supabase/gotrue/hooks",
+ "issue_events_url": "https://api.github.com/repos/supabase/gotrue/issues/events{/number}",
+ "events_url": "https://api.github.com/repos/supabase/gotrue/events",
+ "assignees_url": "https://api.github.com/repos/supabase/gotrue/assignees{/user}",
+ "branches_url": "https://api.github.com/repos/supabase/gotrue/branches{/branch}",
+ "tags_url": "https://api.github.com/repos/supabase/gotrue/tags",
+ "blobs_url": "https://api.github.com/repos/supabase/gotrue/git/blobs{/sha}",
+ "git_tags_url": "https://api.github.com/repos/supabase/gotrue/git/tags{/sha}",
+ "git_refs_url": "https://api.github.com/repos/supabase/gotrue/git/refs{/sha}",
+ "trees_url": "https://api.github.com/repos/supabase/gotrue/git/trees{/sha}",
+ "statuses_url": "https://api.github.com/repos/supabase/gotrue/statuses/{sha}",
+ "languages_url": "https://api.github.com/repos/supabase/gotrue/languages",
+ "stargazers_url": "https://api.github.com/repos/supabase/gotrue/stargazers",
+ "contributors_url": "https://api.github.com/repos/supabase/gotrue/contributors",
+ "subscribers_url": "https://api.github.com/repos/supabase/gotrue/subscribers",
+ "subscription_url": "https://api.github.com/repos/supabase/gotrue/subscription",
+ "commits_url": "https://api.github.com/repos/supabase/gotrue/commits{/sha}",
+ "git_commits_url": "https://api.github.com/repos/supabase/gotrue/git/commits{/sha}",
+ "comments_url": "https://api.github.com/repos/supabase/gotrue/comments{/number}",
+ "issue_comment_url": "https://api.github.com/repos/supabase/gotrue/issues/comments{/number}",
+ "contents_url": "https://api.github.com/repos/supabase/gotrue/contents/{+path}",
+ "compare_url": "https://api.github.com/repos/supabase/gotrue/compare/{base}...{head}",
+ "merges_url": "https://api.github.com/repos/supabase/gotrue/merges",
+ "archive_url": "https://api.github.com/repos/supabase/gotrue/{archive_format}{/ref}",
+ "downloads_url": "https://api.github.com/repos/supabase/gotrue/downloads",
+ "issues_url": "https://api.github.com/repos/supabase/gotrue/issues{/number}",
+ "pulls_url": "https://api.github.com/repos/supabase/gotrue/pulls{/number}",
+ "milestones_url": "https://api.github.com/repos/supabase/gotrue/milestones{/number}",
+ "notifications_url": "https://api.github.com/repos/supabase/gotrue/notifications{?since,all,participating}",
+ "labels_url": "https://api.github.com/repos/supabase/gotrue/labels{/name}",
+ "releases_url": "https://api.github.com/repos/supabase/gotrue/releases{/id}",
+ "deployments_url": "https://api.github.com/repos/supabase/gotrue/deployments",
+ "created_at": "2020-07-14T05:14:31Z",
+ "updated_at": "2021-02-15T06:58:06Z",
+ "pushed_at": "2021-02-16T03:37:05Z",
+ "git_url": "git://github.com/supabase/gotrue.git",
+ "ssh_url": "git@github.com:supabase/gotrue.git",
+ "clone_url": "https://github.com/supabase/gotrue.git",
+ "svn_url": "https://github.com/supabase/gotrue",
+ "homepage": "https://supabase.com/docs/guides/auth",
+ "size": 7183,
+ "stargazers_count": 9,
+ "watchers_count": 9,
+ "language": "Go",
+ "has_issues": true,
+ "has_projects": true,
+ "has_downloads": true,
+ "has_wiki": true,
+ "has_pages": false,
+ "forks_count": 7,
+ "mirror_url": null,
+ "archived": false,
+ "disabled": false,
+ "open_issues_count": 17,
+ "license": {
+ "key": "mit",
+ "name": "MIT License",
+ "spdx_id": "MIT",
+ "url": "https://api.github.com/licenses/mit",
+ "node_id": "MDc6TGljZW5zZTEz"
+ },
+ "forks": 7,
+ "open_issues": 17,
+ "watchers": 9,
+ "default_branch": "master",
+ "temp_clone_token": null,
+ "organization": {
+ "login": "supabase",
+ "id": 54469796,
+ "node_id": "MDEyOk9yZ2FuaXphdGlvbjU0NDY5Nzk2",
+ "avatar_url": "https://avatars.githubusercontent.com/u/54469796?v=4",
+ "gravatar_id": "",
+ "url": "https://api.github.com/users/supabase",
+ "html_url": "https://github.com/supabase",
+ "followers_url": "https://api.github.com/users/supabase/followers",
+ "following_url": "https://api.github.com/users/supabase/following{/other_user}",
+ "gists_url": "https://api.github.com/users/supabase/gists{/gist_id}",
+ "starred_url": "https://api.github.com/users/supabase/starred{/owner}{/repo}",
+ "subscriptions_url": "https://api.github.com/users/supabase/subscriptions",
+ "organizations_url": "https://api.github.com/users/supabase/orgs",
+ "repos_url": "https://api.github.com/users/supabase/repos",
+ "events_url": "https://api.github.com/users/supabase/events{/privacy}",
+ "received_events_url": "https://api.github.com/users/supabase/received_events",
+ "type": "Organization",
+ "site_admin": false
+ },
+ "parent": {
+ "id": 58974323,
+ "node_id": "MDEwOlJlcG9zaXRvcnk1ODk3NDMyMw==",
+ "name": "gotrue",
+ "full_name": "netlify/gotrue",
+ "private": false,
+ "owner": {
+ "login": "netlify",
+ "id": 7892489,
+ "node_id": "MDEyOk9yZ2FuaXphdGlvbjc4OTI0ODk=",
+ "avatar_url": "https://avatars.githubusercontent.com/u/7892489?v=4",
+ "gravatar_id": "",
+ "url": "https://api.github.com/users/netlify",
+ "html_url": "https://github.com/netlify",
+ "followers_url": "https://api.github.com/users/netlify/followers",
+ "following_url": "https://api.github.com/users/netlify/following{/other_user}",
+ "gists_url": "https://api.github.com/users/netlify/gists{/gist_id}",
+ "starred_url": "https://api.github.com/users/netlify/starred{/owner}{/repo}",
+ "subscriptions_url": "https://api.github.com/users/netlify/subscriptions",
+ "organizations_url": "https://api.github.com/users/netlify/orgs",
+ "repos_url": "https://api.github.com/users/netlify/repos",
+ "events_url": "https://api.github.com/users/netlify/events{/privacy}",
+ "received_events_url": "https://api.github.com/users/netlify/received_events",
+ "type": "Organization",
+ "site_admin": false
+ },
+ "html_url": "https://github.com/netlify/gotrue",
+ "description": "An SWT based API for managing users and issuing SWT tokens",
+ "fork": false,
+ "url": "https://api.github.com/repos/netlify/gotrue",
+ "forks_url": "https://api.github.com/repos/netlify/gotrue/forks",
+ "keys_url": "https://api.github.com/repos/netlify/gotrue/keys{/key_id}",
+ "collaborators_url": "https://api.github.com/repos/netlify/gotrue/collaborators{/collaborator}",
+ "teams_url": "https://api.github.com/repos/netlify/gotrue/teams",
+ "hooks_url": "https://api.github.com/repos/netlify/gotrue/hooks",
+ "issue_events_url": "https://api.github.com/repos/netlify/gotrue/issues/events{/number}",
+ "events_url": "https://api.github.com/repos/netlify/gotrue/events",
+ "assignees_url": "https://api.github.com/repos/netlify/gotrue/assignees{/user}",
+ "branches_url": "https://api.github.com/repos/netlify/gotrue/branches{/branch}",
+ "tags_url": "https://api.github.com/repos/netlify/gotrue/tags",
+ "blobs_url": "https://api.github.com/repos/netlify/gotrue/git/blobs{/sha}",
+ "git_tags_url": "https://api.github.com/repos/netlify/gotrue/git/tags{/sha}",
+ "git_refs_url": "https://api.github.com/repos/netlify/gotrue/git/refs{/sha}",
+ "trees_url": "https://api.github.com/repos/netlify/gotrue/git/trees{/sha}",
+ "statuses_url": "https://api.github.com/repos/netlify/gotrue/statuses/{sha}",
+ "languages_url": "https://api.github.com/repos/netlify/gotrue/languages",
+ "stargazers_url": "https://api.github.com/repos/netlify/gotrue/stargazers",
+ "contributors_url": "https://api.github.com/repos/netlify/gotrue/contributors",
+ "subscribers_url": "https://api.github.com/repos/netlify/gotrue/subscribers",
+ "subscription_url": "https://api.github.com/repos/netlify/gotrue/subscription",
+ "commits_url": "https://api.github.com/repos/netlify/gotrue/commits{/sha}",
+ "git_commits_url": "https://api.github.com/repos/netlify/gotrue/git/commits{/sha}",
+ "comments_url": "https://api.github.com/repos/netlify/gotrue/comments{/number}",
+ "issue_comment_url": "https://api.github.com/repos/netlify/gotrue/issues/comments{/number}",
+ "contents_url": "https://api.github.com/repos/netlify/gotrue/contents/{+path}",
+ "compare_url": "https://api.github.com/repos/netlify/gotrue/compare/{base}...{head}",
+ "merges_url": "https://api.github.com/repos/netlify/gotrue/merges",
+ "archive_url": "https://api.github.com/repos/netlify/gotrue/{archive_format}{/ref}",
+ "downloads_url": "https://api.github.com/repos/netlify/gotrue/downloads",
+ "issues_url": "https://api.github.com/repos/netlify/gotrue/issues{/number}",
+ "pulls_url": "https://api.github.com/repos/netlify/gotrue/pulls{/number}",
+ "milestones_url": "https://api.github.com/repos/netlify/gotrue/milestones{/number}",
+ "notifications_url": "https://api.github.com/repos/netlify/gotrue/notifications{?since,all,participating}",
+ "labels_url": "https://api.github.com/repos/netlify/gotrue/labels{/name}",
+ "releases_url": "https://api.github.com/repos/netlify/gotrue/releases{/id}",
+ "deployments_url": "https://api.github.com/repos/netlify/gotrue/deployments",
+ "created_at": "2016-05-16T23:14:24Z",
+ "updated_at": "2021-02-15T06:07:23Z",
+ "pushed_at": "2020-12-19T07:50:47Z",
+ "git_url": "git://github.com/netlify/gotrue.git",
+ "ssh_url": "git@github.com:netlify/gotrue.git",
+ "clone_url": "https://github.com/netlify/gotrue.git",
+ "svn_url": "https://github.com/netlify/gotrue",
+ "homepage": "https://www.gotrueapi.org",
+ "size": 6937,
+ "stargazers_count": 1643,
+ "watchers_count": 1643,
+ "language": "Go",
+ "has_issues": true,
+ "has_projects": true,
+ "has_downloads": true,
+ "has_wiki": true,
+ "has_pages": false,
+ "forks_count": 155,
+ "mirror_url": null,
+ "archived": false,
+ "disabled": false,
+ "open_issues_count": 54,
+ "license": {
+ "key": "mit",
+ "name": "MIT License",
+ "spdx_id": "MIT",
+ "url": "https://api.github.com/licenses/mit",
+ "node_id": "MDc6TGljZW5zZTEz"
+ },
+ "forks": 155,
+ "open_issues": 54,
+ "watchers": 1643,
+ "default_branch": "master"
+ },
+ "source": {
+ "id": 58974323,
+ "node_id": "MDEwOlJlcG9zaXRvcnk1ODk3NDMyMw==",
+ "name": "gotrue",
+ "full_name": "netlify/gotrue",
+ "private": false,
+ "owner": {
+ "login": "netlify",
+ "id": 7892489,
+ "node_id": "MDEyOk9yZ2FuaXphdGlvbjc4OTI0ODk=",
+ "avatar_url": "https://avatars.githubusercontent.com/u/7892489?v=4",
+ "gravatar_id": "",
+ "url": "https://api.github.com/users/netlify",
+ "html_url": "https://github.com/netlify",
+ "followers_url": "https://api.github.com/users/netlify/followers",
+ "following_url": "https://api.github.com/users/netlify/following{/other_user}",
+ "gists_url": "https://api.github.com/users/netlify/gists{/gist_id}",
+ "starred_url": "https://api.github.com/users/netlify/starred{/owner}{/repo}",
+ "subscriptions_url": "https://api.github.com/users/netlify/subscriptions",
+ "organizations_url": "https://api.github.com/users/netlify/orgs",
+ "repos_url": "https://api.github.com/users/netlify/repos",
+ "events_url": "https://api.github.com/users/netlify/events{/privacy}",
+ "received_events_url": "https://api.github.com/users/netlify/received_events",
+ "type": "Organization",
+ "site_admin": false
+ },
+ "html_url": "https://github.com/netlify/gotrue",
+ "description": "An SWT based API for managing users and issuing SWT tokens",
+ "fork": false,
+ "url": "https://api.github.com/repos/netlify/gotrue",
+ "forks_url": "https://api.github.com/repos/netlify/gotrue/forks",
+ "keys_url": "https://api.github.com/repos/netlify/gotrue/keys{/key_id}",
+ "collaborators_url": "https://api.github.com/repos/netlify/gotrue/collaborators{/collaborator}",
+ "teams_url": "https://api.github.com/repos/netlify/gotrue/teams",
+ "hooks_url": "https://api.github.com/repos/netlify/gotrue/hooks",
+ "issue_events_url": "https://api.github.com/repos/netlify/gotrue/issues/events{/number}",
+ "events_url": "https://api.github.com/repos/netlify/gotrue/events",
+ "assignees_url": "https://api.github.com/repos/netlify/gotrue/assignees{/user}",
+ "branches_url": "https://api.github.com/repos/netlify/gotrue/branches{/branch}",
+ "tags_url": "https://api.github.com/repos/netlify/gotrue/tags",
+ "blobs_url": "https://api.github.com/repos/netlify/gotrue/git/blobs{/sha}",
+ "git_tags_url": "https://api.github.com/repos/netlify/gotrue/git/tags{/sha}",
+ "git_refs_url": "https://api.github.com/repos/netlify/gotrue/git/refs{/sha}",
+ "trees_url": "https://api.github.com/repos/netlify/gotrue/git/trees{/sha}",
+ "statuses_url": "https://api.github.com/repos/netlify/gotrue/statuses/{sha}",
+ "languages_url": "https://api.github.com/repos/netlify/gotrue/languages",
+ "stargazers_url": "https://api.github.com/repos/netlify/gotrue/stargazers",
+ "contributors_url": "https://api.github.com/repos/netlify/gotrue/contributors",
+ "subscribers_url": "https://api.github.com/repos/netlify/gotrue/subscribers",
+ "subscription_url": "https://api.github.com/repos/netlify/gotrue/subscription",
+ "commits_url": "https://api.github.com/repos/netlify/gotrue/commits{/sha}",
+ "git_commits_url": "https://api.github.com/repos/netlify/gotrue/git/commits{/sha}",
+ "comments_url": "https://api.github.com/repos/netlify/gotrue/comments{/number}",
+ "issue_comment_url": "https://api.github.com/repos/netlify/gotrue/issues/comments{/number}",
+ "contents_url": "https://api.github.com/repos/netlify/gotrue/contents/{+path}",
+ "compare_url": "https://api.github.com/repos/netlify/gotrue/compare/{base}...{head}",
+ "merges_url": "https://api.github.com/repos/netlify/gotrue/merges",
+ "archive_url": "https://api.github.com/repos/netlify/gotrue/{archive_format}{/ref}",
+ "downloads_url": "https://api.github.com/repos/netlify/gotrue/downloads",
+ "issues_url": "https://api.github.com/repos/netlify/gotrue/issues{/number}",
+ "pulls_url": "https://api.github.com/repos/netlify/gotrue/pulls{/number}",
+ "milestones_url": "https://api.github.com/repos/netlify/gotrue/milestones{/number}",
+ "notifications_url": "https://api.github.com/repos/netlify/gotrue/notifications{?since,all,participating}",
+ "labels_url": "https://api.github.com/repos/netlify/gotrue/labels{/name}",
+ "releases_url": "https://api.github.com/repos/netlify/gotrue/releases{/id}",
+ "deployments_url": "https://api.github.com/repos/netlify/gotrue/deployments",
+ "created_at": "2016-05-16T23:14:24Z",
+ "updated_at": "2021-02-15T06:07:23Z",
+ "pushed_at": "2020-12-19T07:50:47Z",
+ "git_url": "git://github.com/netlify/gotrue.git",
+ "ssh_url": "git@github.com:netlify/gotrue.git",
+ "clone_url": "https://github.com/netlify/gotrue.git",
+ "svn_url": "https://github.com/netlify/gotrue",
+ "homepage": "https://www.gotrueapi.org",
+ "size": 6937,
+ "stargazers_count": 1643,
+ "watchers_count": 1643,
+ "language": "Go",
+ "has_issues": true,
+ "has_projects": true,
+ "has_downloads": true,
+ "has_wiki": true,
+ "has_pages": false,
+ "forks_count": 155,
+ "mirror_url": null,
+ "archived": false,
+ "disabled": false,
+ "open_issues_count": 54,
+ "license": {
+ "key": "mit",
+ "name": "MIT License",
+ "spdx_id": "MIT",
+ "url": "https://api.github.com/licenses/mit",
+ "node_id": "MDc6TGljZW5zZTEz"
+ },
+ "forks": 155,
+ "open_issues": 54,
+ "watchers": 1643,
+ "default_branch": "master"
+ },
+ "network_count": 155,
+ "subscribers_count": 1
+}
diff --git a/apps/temp-docs/data/repos/jsdoc-template.json b/apps/temp-docs/data/repos/jsdoc-template.json
new file mode 100644
index 00000000000..3b129f41f3e
--- /dev/null
+++ b/apps/temp-docs/data/repos/jsdoc-template.json
@@ -0,0 +1,323 @@
+{
+ "id": 236916940,
+ "node_id": "MDEwOlJlcG9zaXRvcnkyMzY5MTY5NDA=",
+ "name": "jsdoc-template",
+ "full_name": "supabase/jsdoc-template",
+ "private": false,
+ "owner": {
+ "login": "supabase",
+ "id": 54469796,
+ "node_id": "MDEyOk9yZ2FuaXphdGlvbjU0NDY5Nzk2",
+ "avatar_url": "https://avatars3.githubusercontent.com/u/54469796?v=4",
+ "gravatar_id": "",
+ "url": "https://api.github.com/users/supabase",
+ "html_url": "https://github.com/supabase",
+ "followers_url": "https://api.github.com/users/supabase/followers",
+ "following_url": "https://api.github.com/users/supabase/following{/other_user}",
+ "gists_url": "https://api.github.com/users/supabase/gists{/gist_id}",
+ "starred_url": "https://api.github.com/users/supabase/starred{/owner}{/repo}",
+ "subscriptions_url": "https://api.github.com/users/supabase/subscriptions",
+ "organizations_url": "https://api.github.com/users/supabase/orgs",
+ "repos_url": "https://api.github.com/users/supabase/repos",
+ "events_url": "https://api.github.com/users/supabase/events{/privacy}",
+ "received_events_url": "https://api.github.com/users/supabase/received_events",
+ "type": "Organization",
+ "site_admin": false
+ },
+ "html_url": "https://github.com/supabase/jsdoc-template",
+ "description": "A clean, responsive documentation template with search and navigation highlighting for JSDoc 3",
+ "fork": true,
+ "url": "https://api.github.com/repos/supabase/jsdoc-template",
+ "forks_url": "https://api.github.com/repos/supabase/jsdoc-template/forks",
+ "keys_url": "https://api.github.com/repos/supabase/jsdoc-template/keys{/key_id}",
+ "collaborators_url": "https://api.github.com/repos/supabase/jsdoc-template/collaborators{/collaborator}",
+ "teams_url": "https://api.github.com/repos/supabase/jsdoc-template/teams",
+ "hooks_url": "https://api.github.com/repos/supabase/jsdoc-template/hooks",
+ "issue_events_url": "https://api.github.com/repos/supabase/jsdoc-template/issues/events{/number}",
+ "events_url": "https://api.github.com/repos/supabase/jsdoc-template/events",
+ "assignees_url": "https://api.github.com/repos/supabase/jsdoc-template/assignees{/user}",
+ "branches_url": "https://api.github.com/repos/supabase/jsdoc-template/branches{/branch}",
+ "tags_url": "https://api.github.com/repos/supabase/jsdoc-template/tags",
+ "blobs_url": "https://api.github.com/repos/supabase/jsdoc-template/git/blobs{/sha}",
+ "git_tags_url": "https://api.github.com/repos/supabase/jsdoc-template/git/tags{/sha}",
+ "git_refs_url": "https://api.github.com/repos/supabase/jsdoc-template/git/refs{/sha}",
+ "trees_url": "https://api.github.com/repos/supabase/jsdoc-template/git/trees{/sha}",
+ "statuses_url": "https://api.github.com/repos/supabase/jsdoc-template/statuses/{sha}",
+ "languages_url": "https://api.github.com/repos/supabase/jsdoc-template/languages",
+ "stargazers_url": "https://api.github.com/repos/supabase/jsdoc-template/stargazers",
+ "contributors_url": "https://api.github.com/repos/supabase/jsdoc-template/contributors",
+ "subscribers_url": "https://api.github.com/repos/supabase/jsdoc-template/subscribers",
+ "subscription_url": "https://api.github.com/repos/supabase/jsdoc-template/subscription",
+ "commits_url": "https://api.github.com/repos/supabase/jsdoc-template/commits{/sha}",
+ "git_commits_url": "https://api.github.com/repos/supabase/jsdoc-template/git/commits{/sha}",
+ "comments_url": "https://api.github.com/repos/supabase/jsdoc-template/comments{/number}",
+ "issue_comment_url": "https://api.github.com/repos/supabase/jsdoc-template/issues/comments{/number}",
+ "contents_url": "https://api.github.com/repos/supabase/jsdoc-template/contents/{+path}",
+ "compare_url": "https://api.github.com/repos/supabase/jsdoc-template/compare/{base}...{head}",
+ "merges_url": "https://api.github.com/repos/supabase/jsdoc-template/merges",
+ "archive_url": "https://api.github.com/repos/supabase/jsdoc-template/{archive_format}{/ref}",
+ "downloads_url": "https://api.github.com/repos/supabase/jsdoc-template/downloads",
+ "issues_url": "https://api.github.com/repos/supabase/jsdoc-template/issues{/number}",
+ "pulls_url": "https://api.github.com/repos/supabase/jsdoc-template/pulls{/number}",
+ "milestones_url": "https://api.github.com/repos/supabase/jsdoc-template/milestones{/number}",
+ "notifications_url": "https://api.github.com/repos/supabase/jsdoc-template/notifications{?since,all,participating}",
+ "labels_url": "https://api.github.com/repos/supabase/jsdoc-template/labels{/name}",
+ "releases_url": "https://api.github.com/repos/supabase/jsdoc-template/releases{/id}",
+ "deployments_url": "https://api.github.com/repos/supabase/jsdoc-template/deployments",
+ "created_at": "2020-01-29T06:16:50Z",
+ "updated_at": "2020-04-22T04:24:52Z",
+ "pushed_at": "2020-06-12T07:35:55Z",
+ "git_url": "git://github.com/supabase/jsdoc-template.git",
+ "ssh_url": "git@github.com:supabase/jsdoc-template.git",
+ "clone_url": "https://github.com/supabase/jsdoc-template.git",
+ "svn_url": "https://github.com/supabase/jsdoc-template",
+ "homepage": "",
+ "size": 654,
+ "stargazers_count": 2,
+ "watchers_count": 2,
+ "language": "CSS",
+ "has_issues": false,
+ "has_projects": true,
+ "has_downloads": true,
+ "has_wiki": false,
+ "has_pages": false,
+ "forks_count": 0,
+ "mirror_url": null,
+ "archived": false,
+ "disabled": false,
+ "open_issues_count": 2,
+ "license": {
+ "key": "other",
+ "name": "Other",
+ "spdx_id": "NOASSERTION",
+ "url": null,
+ "node_id": "MDc6TGljZW5zZTA="
+ },
+ "forks": 0,
+ "open_issues": 2,
+ "watchers": 2,
+ "default_branch": "master",
+ "temp_clone_token": null,
+ "organization": {
+ "login": "supabase",
+ "id": 54469796,
+ "node_id": "MDEyOk9yZ2FuaXphdGlvbjU0NDY5Nzk2",
+ "avatar_url": "https://avatars3.githubusercontent.com/u/54469796?v=4",
+ "gravatar_id": "",
+ "url": "https://api.github.com/users/supabase",
+ "html_url": "https://github.com/supabase",
+ "followers_url": "https://api.github.com/users/supabase/followers",
+ "following_url": "https://api.github.com/users/supabase/following{/other_user}",
+ "gists_url": "https://api.github.com/users/supabase/gists{/gist_id}",
+ "starred_url": "https://api.github.com/users/supabase/starred{/owner}{/repo}",
+ "subscriptions_url": "https://api.github.com/users/supabase/subscriptions",
+ "organizations_url": "https://api.github.com/users/supabase/orgs",
+ "repos_url": "https://api.github.com/users/supabase/repos",
+ "events_url": "https://api.github.com/users/supabase/events{/privacy}",
+ "received_events_url": "https://api.github.com/users/supabase/received_events",
+ "type": "Organization",
+ "site_admin": false
+ },
+ "parent": {
+ "id": 59770336,
+ "node_id": "MDEwOlJlcG9zaXRvcnk1OTc3MDMzNg==",
+ "name": "jsdoc-template",
+ "full_name": "braintree/jsdoc-template",
+ "private": false,
+ "owner": {
+ "login": "braintree",
+ "id": 3453,
+ "node_id": "MDEyOk9yZ2FuaXphdGlvbjM0NTM=",
+ "avatar_url": "https://avatars2.githubusercontent.com/u/3453?v=4",
+ "gravatar_id": "",
+ "url": "https://api.github.com/users/braintree",
+ "html_url": "https://github.com/braintree",
+ "followers_url": "https://api.github.com/users/braintree/followers",
+ "following_url": "https://api.github.com/users/braintree/following{/other_user}",
+ "gists_url": "https://api.github.com/users/braintree/gists{/gist_id}",
+ "starred_url": "https://api.github.com/users/braintree/starred{/owner}{/repo}",
+ "subscriptions_url": "https://api.github.com/users/braintree/subscriptions",
+ "organizations_url": "https://api.github.com/users/braintree/orgs",
+ "repos_url": "https://api.github.com/users/braintree/repos",
+ "events_url": "https://api.github.com/users/braintree/events{/privacy}",
+ "received_events_url": "https://api.github.com/users/braintree/received_events",
+ "type": "Organization",
+ "site_admin": false
+ },
+ "html_url": "https://github.com/braintree/jsdoc-template",
+ "description": "A clean, responsive documentation template with search and navigation highlighting for JSDoc 3",
+ "fork": false,
+ "url": "https://api.github.com/repos/braintree/jsdoc-template",
+ "forks_url": "https://api.github.com/repos/braintree/jsdoc-template/forks",
+ "keys_url": "https://api.github.com/repos/braintree/jsdoc-template/keys{/key_id}",
+ "collaborators_url": "https://api.github.com/repos/braintree/jsdoc-template/collaborators{/collaborator}",
+ "teams_url": "https://api.github.com/repos/braintree/jsdoc-template/teams",
+ "hooks_url": "https://api.github.com/repos/braintree/jsdoc-template/hooks",
+ "issue_events_url": "https://api.github.com/repos/braintree/jsdoc-template/issues/events{/number}",
+ "events_url": "https://api.github.com/repos/braintree/jsdoc-template/events",
+ "assignees_url": "https://api.github.com/repos/braintree/jsdoc-template/assignees{/user}",
+ "branches_url": "https://api.github.com/repos/braintree/jsdoc-template/branches{/branch}",
+ "tags_url": "https://api.github.com/repos/braintree/jsdoc-template/tags",
+ "blobs_url": "https://api.github.com/repos/braintree/jsdoc-template/git/blobs{/sha}",
+ "git_tags_url": "https://api.github.com/repos/braintree/jsdoc-template/git/tags{/sha}",
+ "git_refs_url": "https://api.github.com/repos/braintree/jsdoc-template/git/refs{/sha}",
+ "trees_url": "https://api.github.com/repos/braintree/jsdoc-template/git/trees{/sha}",
+ "statuses_url": "https://api.github.com/repos/braintree/jsdoc-template/statuses/{sha}",
+ "languages_url": "https://api.github.com/repos/braintree/jsdoc-template/languages",
+ "stargazers_url": "https://api.github.com/repos/braintree/jsdoc-template/stargazers",
+ "contributors_url": "https://api.github.com/repos/braintree/jsdoc-template/contributors",
+ "subscribers_url": "https://api.github.com/repos/braintree/jsdoc-template/subscribers",
+ "subscription_url": "https://api.github.com/repos/braintree/jsdoc-template/subscription",
+ "commits_url": "https://api.github.com/repos/braintree/jsdoc-template/commits{/sha}",
+ "git_commits_url": "https://api.github.com/repos/braintree/jsdoc-template/git/commits{/sha}",
+ "comments_url": "https://api.github.com/repos/braintree/jsdoc-template/comments{/number}",
+ "issue_comment_url": "https://api.github.com/repos/braintree/jsdoc-template/issues/comments{/number}",
+ "contents_url": "https://api.github.com/repos/braintree/jsdoc-template/contents/{+path}",
+ "compare_url": "https://api.github.com/repos/braintree/jsdoc-template/compare/{base}...{head}",
+ "merges_url": "https://api.github.com/repos/braintree/jsdoc-template/merges",
+ "archive_url": "https://api.github.com/repos/braintree/jsdoc-template/{archive_format}{/ref}",
+ "downloads_url": "https://api.github.com/repos/braintree/jsdoc-template/downloads",
+ "issues_url": "https://api.github.com/repos/braintree/jsdoc-template/issues{/number}",
+ "pulls_url": "https://api.github.com/repos/braintree/jsdoc-template/pulls{/number}",
+ "milestones_url": "https://api.github.com/repos/braintree/jsdoc-template/milestones{/number}",
+ "notifications_url": "https://api.github.com/repos/braintree/jsdoc-template/notifications{?since,all,participating}",
+ "labels_url": "https://api.github.com/repos/braintree/jsdoc-template/labels{/name}",
+ "releases_url": "https://api.github.com/repos/braintree/jsdoc-template/releases{/id}",
+ "deployments_url": "https://api.github.com/repos/braintree/jsdoc-template/deployments",
+ "created_at": "2016-05-26T17:37:00Z",
+ "updated_at": "2020-06-23T01:52:09Z",
+ "pushed_at": "2020-03-24T18:02:57Z",
+ "git_url": "git://github.com/braintree/jsdoc-template.git",
+ "ssh_url": "git@github.com:braintree/jsdoc-template.git",
+ "clone_url": "https://github.com/braintree/jsdoc-template.git",
+ "svn_url": "https://github.com/braintree/jsdoc-template",
+ "homepage": "",
+ "size": 643,
+ "stargazers_count": 126,
+ "watchers_count": 126,
+ "language": "CSS",
+ "has_issues": false,
+ "has_projects": true,
+ "has_downloads": true,
+ "has_wiki": false,
+ "has_pages": false,
+ "forks_count": 50,
+ "mirror_url": null,
+ "archived": false,
+ "disabled": false,
+ "open_issues_count": 0,
+ "license": {
+ "key": "other",
+ "name": "Other",
+ "spdx_id": "NOASSERTION",
+ "url": null,
+ "node_id": "MDc6TGljZW5zZTA="
+ },
+ "forks": 50,
+ "open_issues": 0,
+ "watchers": 126,
+ "default_branch": "master"
+ },
+ "source": {
+ "id": 59770336,
+ "node_id": "MDEwOlJlcG9zaXRvcnk1OTc3MDMzNg==",
+ "name": "jsdoc-template",
+ "full_name": "braintree/jsdoc-template",
+ "private": false,
+ "owner": {
+ "login": "braintree",
+ "id": 3453,
+ "node_id": "MDEyOk9yZ2FuaXphdGlvbjM0NTM=",
+ "avatar_url": "https://avatars2.githubusercontent.com/u/3453?v=4",
+ "gravatar_id": "",
+ "url": "https://api.github.com/users/braintree",
+ "html_url": "https://github.com/braintree",
+ "followers_url": "https://api.github.com/users/braintree/followers",
+ "following_url": "https://api.github.com/users/braintree/following{/other_user}",
+ "gists_url": "https://api.github.com/users/braintree/gists{/gist_id}",
+ "starred_url": "https://api.github.com/users/braintree/starred{/owner}{/repo}",
+ "subscriptions_url": "https://api.github.com/users/braintree/subscriptions",
+ "organizations_url": "https://api.github.com/users/braintree/orgs",
+ "repos_url": "https://api.github.com/users/braintree/repos",
+ "events_url": "https://api.github.com/users/braintree/events{/privacy}",
+ "received_events_url": "https://api.github.com/users/braintree/received_events",
+ "type": "Organization",
+ "site_admin": false
+ },
+ "html_url": "https://github.com/braintree/jsdoc-template",
+ "description": "A clean, responsive documentation template with search and navigation highlighting for JSDoc 3",
+ "fork": false,
+ "url": "https://api.github.com/repos/braintree/jsdoc-template",
+ "forks_url": "https://api.github.com/repos/braintree/jsdoc-template/forks",
+ "keys_url": "https://api.github.com/repos/braintree/jsdoc-template/keys{/key_id}",
+ "collaborators_url": "https://api.github.com/repos/braintree/jsdoc-template/collaborators{/collaborator}",
+ "teams_url": "https://api.github.com/repos/braintree/jsdoc-template/teams",
+ "hooks_url": "https://api.github.com/repos/braintree/jsdoc-template/hooks",
+ "issue_events_url": "https://api.github.com/repos/braintree/jsdoc-template/issues/events{/number}",
+ "events_url": "https://api.github.com/repos/braintree/jsdoc-template/events",
+ "assignees_url": "https://api.github.com/repos/braintree/jsdoc-template/assignees{/user}",
+ "branches_url": "https://api.github.com/repos/braintree/jsdoc-template/branches{/branch}",
+ "tags_url": "https://api.github.com/repos/braintree/jsdoc-template/tags",
+ "blobs_url": "https://api.github.com/repos/braintree/jsdoc-template/git/blobs{/sha}",
+ "git_tags_url": "https://api.github.com/repos/braintree/jsdoc-template/git/tags{/sha}",
+ "git_refs_url": "https://api.github.com/repos/braintree/jsdoc-template/git/refs{/sha}",
+ "trees_url": "https://api.github.com/repos/braintree/jsdoc-template/git/trees{/sha}",
+ "statuses_url": "https://api.github.com/repos/braintree/jsdoc-template/statuses/{sha}",
+ "languages_url": "https://api.github.com/repos/braintree/jsdoc-template/languages",
+ "stargazers_url": "https://api.github.com/repos/braintree/jsdoc-template/stargazers",
+ "contributors_url": "https://api.github.com/repos/braintree/jsdoc-template/contributors",
+ "subscribers_url": "https://api.github.com/repos/braintree/jsdoc-template/subscribers",
+ "subscription_url": "https://api.github.com/repos/braintree/jsdoc-template/subscription",
+ "commits_url": "https://api.github.com/repos/braintree/jsdoc-template/commits{/sha}",
+ "git_commits_url": "https://api.github.com/repos/braintree/jsdoc-template/git/commits{/sha}",
+ "comments_url": "https://api.github.com/repos/braintree/jsdoc-template/comments{/number}",
+ "issue_comment_url": "https://api.github.com/repos/braintree/jsdoc-template/issues/comments{/number}",
+ "contents_url": "https://api.github.com/repos/braintree/jsdoc-template/contents/{+path}",
+ "compare_url": "https://api.github.com/repos/braintree/jsdoc-template/compare/{base}...{head}",
+ "merges_url": "https://api.github.com/repos/braintree/jsdoc-template/merges",
+ "archive_url": "https://api.github.com/repos/braintree/jsdoc-template/{archive_format}{/ref}",
+ "downloads_url": "https://api.github.com/repos/braintree/jsdoc-template/downloads",
+ "issues_url": "https://api.github.com/repos/braintree/jsdoc-template/issues{/number}",
+ "pulls_url": "https://api.github.com/repos/braintree/jsdoc-template/pulls{/number}",
+ "milestones_url": "https://api.github.com/repos/braintree/jsdoc-template/milestones{/number}",
+ "notifications_url": "https://api.github.com/repos/braintree/jsdoc-template/notifications{?since,all,participating}",
+ "labels_url": "https://api.github.com/repos/braintree/jsdoc-template/labels{/name}",
+ "releases_url": "https://api.github.com/repos/braintree/jsdoc-template/releases{/id}",
+ "deployments_url": "https://api.github.com/repos/braintree/jsdoc-template/deployments",
+ "created_at": "2016-05-26T17:37:00Z",
+ "updated_at": "2020-06-23T01:52:09Z",
+ "pushed_at": "2020-03-24T18:02:57Z",
+ "git_url": "git://github.com/braintree/jsdoc-template.git",
+ "ssh_url": "git@github.com:braintree/jsdoc-template.git",
+ "clone_url": "https://github.com/braintree/jsdoc-template.git",
+ "svn_url": "https://github.com/braintree/jsdoc-template",
+ "homepage": "",
+ "size": 643,
+ "stargazers_count": 126,
+ "watchers_count": 126,
+ "language": "CSS",
+ "has_issues": false,
+ "has_projects": true,
+ "has_downloads": true,
+ "has_wiki": false,
+ "has_pages": false,
+ "forks_count": 50,
+ "mirror_url": null,
+ "archived": false,
+ "disabled": false,
+ "open_issues_count": 0,
+ "license": {
+ "key": "other",
+ "name": "Other",
+ "spdx_id": "NOASSERTION",
+ "url": null,
+ "node_id": "MDc6TGljZW5zZTA="
+ },
+ "forks": 50,
+ "open_issues": 0,
+ "watchers": 126,
+ "default_branch": "master"
+ },
+ "network_count": 50,
+ "subscribers_count": 0
+}
diff --git a/apps/temp-docs/data/repos/marketplace.json b/apps/temp-docs/data/repos/marketplace.json
new file mode 100644
index 00000000000..9deb90e1c2f
--- /dev/null
+++ b/apps/temp-docs/data/repos/marketplace.json
@@ -0,0 +1,123 @@
+{
+ "id": 231560476,
+ "node_id": "MDEwOlJlcG9zaXRvcnkyMzE1NjA0NzY=",
+ "name": "marketplace",
+ "full_name": "supabase/marketplace",
+ "private": false,
+ "owner": {
+ "login": "supabase",
+ "id": 54469796,
+ "node_id": "MDEyOk9yZ2FuaXphdGlvbjU0NDY5Nzk2",
+ "avatar_url": "https://avatars3.githubusercontent.com/u/54469796?v=4",
+ "gravatar_id": "",
+ "url": "https://api.github.com/users/supabase",
+ "html_url": "https://github.com/supabase",
+ "followers_url": "https://api.github.com/users/supabase/followers",
+ "following_url": "https://api.github.com/users/supabase/following{/other_user}",
+ "gists_url": "https://api.github.com/users/supabase/gists{/gist_id}",
+ "starred_url": "https://api.github.com/users/supabase/starred{/owner}{/repo}",
+ "subscriptions_url": "https://api.github.com/users/supabase/subscriptions",
+ "organizations_url": "https://api.github.com/users/supabase/orgs",
+ "repos_url": "https://api.github.com/users/supabase/repos",
+ "events_url": "https://api.github.com/users/supabase/events{/privacy}",
+ "received_events_url": "https://api.github.com/users/supabase/received_events",
+ "type": "Organization",
+ "site_admin": false
+ },
+ "html_url": "https://github.com/supabase/marketplace",
+ "description": "An opensource repository of (PostgreSQL) SQL",
+ "fork": false,
+ "url": "https://api.github.com/repos/supabase/marketplace",
+ "forks_url": "https://api.github.com/repos/supabase/marketplace/forks",
+ "keys_url": "https://api.github.com/repos/supabase/marketplace/keys{/key_id}",
+ "collaborators_url": "https://api.github.com/repos/supabase/marketplace/collaborators{/collaborator}",
+ "teams_url": "https://api.github.com/repos/supabase/marketplace/teams",
+ "hooks_url": "https://api.github.com/repos/supabase/marketplace/hooks",
+ "issue_events_url": "https://api.github.com/repos/supabase/marketplace/issues/events{/number}",
+ "events_url": "https://api.github.com/repos/supabase/marketplace/events",
+ "assignees_url": "https://api.github.com/repos/supabase/marketplace/assignees{/user}",
+ "branches_url": "https://api.github.com/repos/supabase/marketplace/branches{/branch}",
+ "tags_url": "https://api.github.com/repos/supabase/marketplace/tags",
+ "blobs_url": "https://api.github.com/repos/supabase/marketplace/git/blobs{/sha}",
+ "git_tags_url": "https://api.github.com/repos/supabase/marketplace/git/tags{/sha}",
+ "git_refs_url": "https://api.github.com/repos/supabase/marketplace/git/refs{/sha}",
+ "trees_url": "https://api.github.com/repos/supabase/marketplace/git/trees{/sha}",
+ "statuses_url": "https://api.github.com/repos/supabase/marketplace/statuses/{sha}",
+ "languages_url": "https://api.github.com/repos/supabase/marketplace/languages",
+ "stargazers_url": "https://api.github.com/repos/supabase/marketplace/stargazers",
+ "contributors_url": "https://api.github.com/repos/supabase/marketplace/contributors",
+ "subscribers_url": "https://api.github.com/repos/supabase/marketplace/subscribers",
+ "subscription_url": "https://api.github.com/repos/supabase/marketplace/subscription",
+ "commits_url": "https://api.github.com/repos/supabase/marketplace/commits{/sha}",
+ "git_commits_url": "https://api.github.com/repos/supabase/marketplace/git/commits{/sha}",
+ "comments_url": "https://api.github.com/repos/supabase/marketplace/comments{/number}",
+ "issue_comment_url": "https://api.github.com/repos/supabase/marketplace/issues/comments{/number}",
+ "contents_url": "https://api.github.com/repos/supabase/marketplace/contents/{+path}",
+ "compare_url": "https://api.github.com/repos/supabase/marketplace/compare/{base}...{head}",
+ "merges_url": "https://api.github.com/repos/supabase/marketplace/merges",
+ "archive_url": "https://api.github.com/repos/supabase/marketplace/{archive_format}{/ref}",
+ "downloads_url": "https://api.github.com/repos/supabase/marketplace/downloads",
+ "issues_url": "https://api.github.com/repos/supabase/marketplace/issues{/number}",
+ "pulls_url": "https://api.github.com/repos/supabase/marketplace/pulls{/number}",
+ "milestones_url": "https://api.github.com/repos/supabase/marketplace/milestones{/number}",
+ "notifications_url": "https://api.github.com/repos/supabase/marketplace/notifications{?since,all,participating}",
+ "labels_url": "https://api.github.com/repos/supabase/marketplace/labels{/name}",
+ "releases_url": "https://api.github.com/repos/supabase/marketplace/releases{/id}",
+ "deployments_url": "https://api.github.com/repos/supabase/marketplace/deployments",
+ "created_at": "2020-01-03T09:59:40Z",
+ "updated_at": "2020-06-29T02:36:36Z",
+ "pushed_at": "2020-04-27T06:28:08Z",
+ "git_url": "git://github.com/supabase/marketplace.git",
+ "ssh_url": "git@github.com:supabase/marketplace.git",
+ "clone_url": "https://github.com/supabase/marketplace.git",
+ "svn_url": "https://github.com/supabase/marketplace",
+ "homepage": "https://supabase.com",
+ "size": 112,
+ "stargazers_count": 9,
+ "watchers_count": 9,
+ "language": "TSQL",
+ "has_issues": true,
+ "has_projects": true,
+ "has_downloads": true,
+ "has_wiki": true,
+ "has_pages": false,
+ "forks_count": 2,
+ "mirror_url": null,
+ "archived": false,
+ "disabled": false,
+ "open_issues_count": 0,
+ "license": {
+ "key": "mit",
+ "name": "MIT License",
+ "spdx_id": "MIT",
+ "url": "https://api.github.com/licenses/mit",
+ "node_id": "MDc6TGljZW5zZTEz"
+ },
+ "forks": 2,
+ "open_issues": 0,
+ "watchers": 9,
+ "default_branch": "master",
+ "temp_clone_token": null,
+ "organization": {
+ "login": "supabase",
+ "id": 54469796,
+ "node_id": "MDEyOk9yZ2FuaXphdGlvbjU0NDY5Nzk2",
+ "avatar_url": "https://avatars3.githubusercontent.com/u/54469796?v=4",
+ "gravatar_id": "",
+ "url": "https://api.github.com/users/supabase",
+ "html_url": "https://github.com/supabase",
+ "followers_url": "https://api.github.com/users/supabase/followers",
+ "following_url": "https://api.github.com/users/supabase/following{/other_user}",
+ "gists_url": "https://api.github.com/users/supabase/gists{/gist_id}",
+ "starred_url": "https://api.github.com/users/supabase/starred{/owner}{/repo}",
+ "subscriptions_url": "https://api.github.com/users/supabase/subscriptions",
+ "organizations_url": "https://api.github.com/users/supabase/orgs",
+ "repos_url": "https://api.github.com/users/supabase/repos",
+ "events_url": "https://api.github.com/users/supabase/events{/privacy}",
+ "received_events_url": "https://api.github.com/users/supabase/received_events",
+ "type": "Organization",
+ "site_admin": false
+ },
+ "network_count": 2,
+ "subscribers_count": 3
+}
diff --git a/apps/temp-docs/data/repos/pg-api.json b/apps/temp-docs/data/repos/pg-api.json
new file mode 100644
index 00000000000..c9efd236928
--- /dev/null
+++ b/apps/temp-docs/data/repos/pg-api.json
@@ -0,0 +1,123 @@
+{
+ "id": 265560320,
+ "node_id": "MDEwOlJlcG9zaXRvcnkyNjU1NjAzMjA=",
+ "name": "pg-api",
+ "full_name": "supabase/pg-api",
+ "private": false,
+ "owner": {
+ "login": "supabase",
+ "id": 54469796,
+ "node_id": "MDEyOk9yZ2FuaXphdGlvbjU0NDY5Nzk2",
+ "avatar_url": "https://avatars3.githubusercontent.com/u/54469796?v=4",
+ "gravatar_id": "",
+ "url": "https://api.github.com/users/supabase",
+ "html_url": "https://github.com/supabase",
+ "followers_url": "https://api.github.com/users/supabase/followers",
+ "following_url": "https://api.github.com/users/supabase/following{/other_user}",
+ "gists_url": "https://api.github.com/users/supabase/gists{/gist_id}",
+ "starred_url": "https://api.github.com/users/supabase/starred{/owner}{/repo}",
+ "subscriptions_url": "https://api.github.com/users/supabase/subscriptions",
+ "organizations_url": "https://api.github.com/users/supabase/orgs",
+ "repos_url": "https://api.github.com/users/supabase/repos",
+ "events_url": "https://api.github.com/users/supabase/events{/privacy}",
+ "received_events_url": "https://api.github.com/users/supabase/received_events",
+ "type": "Organization",
+ "site_admin": false
+ },
+ "html_url": "https://github.com/supabase/pg-api",
+ "description": "A RESTful API for managing your Postgres. Fetch tables, add roles, and run queries",
+ "fork": false,
+ "url": "https://api.github.com/repos/supabase/pg-api",
+ "forks_url": "https://api.github.com/repos/supabase/pg-api/forks",
+ "keys_url": "https://api.github.com/repos/supabase/pg-api/keys{/key_id}",
+ "collaborators_url": "https://api.github.com/repos/supabase/pg-api/collaborators{/collaborator}",
+ "teams_url": "https://api.github.com/repos/supabase/pg-api/teams",
+ "hooks_url": "https://api.github.com/repos/supabase/pg-api/hooks",
+ "issue_events_url": "https://api.github.com/repos/supabase/pg-api/issues/events{/number}",
+ "events_url": "https://api.github.com/repos/supabase/pg-api/events",
+ "assignees_url": "https://api.github.com/repos/supabase/pg-api/assignees{/user}",
+ "branches_url": "https://api.github.com/repos/supabase/pg-api/branches{/branch}",
+ "tags_url": "https://api.github.com/repos/supabase/pg-api/tags",
+ "blobs_url": "https://api.github.com/repos/supabase/pg-api/git/blobs{/sha}",
+ "git_tags_url": "https://api.github.com/repos/supabase/pg-api/git/tags{/sha}",
+ "git_refs_url": "https://api.github.com/repos/supabase/pg-api/git/refs{/sha}",
+ "trees_url": "https://api.github.com/repos/supabase/pg-api/git/trees{/sha}",
+ "statuses_url": "https://api.github.com/repos/supabase/pg-api/statuses/{sha}",
+ "languages_url": "https://api.github.com/repos/supabase/pg-api/languages",
+ "stargazers_url": "https://api.github.com/repos/supabase/pg-api/stargazers",
+ "contributors_url": "https://api.github.com/repos/supabase/pg-api/contributors",
+ "subscribers_url": "https://api.github.com/repos/supabase/pg-api/subscribers",
+ "subscription_url": "https://api.github.com/repos/supabase/pg-api/subscription",
+ "commits_url": "https://api.github.com/repos/supabase/pg-api/commits{/sha}",
+ "git_commits_url": "https://api.github.com/repos/supabase/pg-api/git/commits{/sha}",
+ "comments_url": "https://api.github.com/repos/supabase/pg-api/comments{/number}",
+ "issue_comment_url": "https://api.github.com/repos/supabase/pg-api/issues/comments{/number}",
+ "contents_url": "https://api.github.com/repos/supabase/pg-api/contents/{+path}",
+ "compare_url": "https://api.github.com/repos/supabase/pg-api/compare/{base}...{head}",
+ "merges_url": "https://api.github.com/repos/supabase/pg-api/merges",
+ "archive_url": "https://api.github.com/repos/supabase/pg-api/{archive_format}{/ref}",
+ "downloads_url": "https://api.github.com/repos/supabase/pg-api/downloads",
+ "issues_url": "https://api.github.com/repos/supabase/pg-api/issues{/number}",
+ "pulls_url": "https://api.github.com/repos/supabase/pg-api/pulls{/number}",
+ "milestones_url": "https://api.github.com/repos/supabase/pg-api/milestones{/number}",
+ "notifications_url": "https://api.github.com/repos/supabase/pg-api/notifications{?since,all,participating}",
+ "labels_url": "https://api.github.com/repos/supabase/pg-api/labels{/name}",
+ "releases_url": "https://api.github.com/repos/supabase/pg-api/releases{/id}",
+ "deployments_url": "https://api.github.com/repos/supabase/pg-api/deployments",
+ "created_at": "2020-05-20T12:36:37Z",
+ "updated_at": "2020-10-30T08:25:43Z",
+ "pushed_at": "2020-10-26T16:26:10Z",
+ "git_url": "git://github.com/supabase/pg-api.git",
+ "ssh_url": "git@github.com:supabase/pg-api.git",
+ "clone_url": "https://github.com/supabase/pg-api.git",
+ "svn_url": "https://github.com/supabase/pg-api",
+ "homepage": "https://supabase.com",
+ "size": 87982,
+ "stargazers_count": 72,
+ "watchers_count": 72,
+ "language": "TypeScript",
+ "has_issues": true,
+ "has_projects": true,
+ "has_downloads": true,
+ "has_wiki": true,
+ "has_pages": true,
+ "forks_count": 5,
+ "mirror_url": null,
+ "archived": false,
+ "disabled": false,
+ "open_issues_count": 6,
+ "license": {
+ "key": "apache-2.0",
+ "name": "Apache License 2.0",
+ "spdx_id": "Apache-2.0",
+ "url": "https://api.github.com/licenses/apache-2.0",
+ "node_id": "MDc6TGljZW5zZTI="
+ },
+ "forks": 5,
+ "open_issues": 6,
+ "watchers": 72,
+ "default_branch": "develop",
+ "temp_clone_token": null,
+ "organization": {
+ "login": "supabase",
+ "id": 54469796,
+ "node_id": "MDEyOk9yZ2FuaXphdGlvbjU0NDY5Nzk2",
+ "avatar_url": "https://avatars3.githubusercontent.com/u/54469796?v=4",
+ "gravatar_id": "",
+ "url": "https://api.github.com/users/supabase",
+ "html_url": "https://github.com/supabase",
+ "followers_url": "https://api.github.com/users/supabase/followers",
+ "following_url": "https://api.github.com/users/supabase/following{/other_user}",
+ "gists_url": "https://api.github.com/users/supabase/gists{/gist_id}",
+ "starred_url": "https://api.github.com/users/supabase/starred{/owner}{/repo}",
+ "subscriptions_url": "https://api.github.com/users/supabase/subscriptions",
+ "organizations_url": "https://api.github.com/users/supabase/orgs",
+ "repos_url": "https://api.github.com/users/supabase/repos",
+ "events_url": "https://api.github.com/users/supabase/events{/privacy}",
+ "received_events_url": "https://api.github.com/users/supabase/received_events",
+ "type": "Organization",
+ "site_admin": false
+ },
+ "network_count": 5,
+ "subscribers_count": 6
+}
diff --git a/apps/temp-docs/data/repos/pg_listen.json b/apps/temp-docs/data/repos/pg_listen.json
new file mode 100644
index 00000000000..9cc417ae95e
--- /dev/null
+++ b/apps/temp-docs/data/repos/pg_listen.json
@@ -0,0 +1,323 @@
+{
+ "id": 258239197,
+ "node_id": "MDEwOlJlcG9zaXRvcnkyNTgyMzkxOTc=",
+ "name": "pg_listen",
+ "full_name": "supabase/pg_listen",
+ "private": false,
+ "owner": {
+ "login": "supabase",
+ "id": 54469796,
+ "node_id": "MDEyOk9yZ2FuaXphdGlvbjU0NDY5Nzk2",
+ "avatar_url": "https://avatars3.githubusercontent.com/u/54469796?v=4",
+ "gravatar_id": "",
+ "url": "https://api.github.com/users/supabase",
+ "html_url": "https://github.com/supabase",
+ "followers_url": "https://api.github.com/users/supabase/followers",
+ "following_url": "https://api.github.com/users/supabase/following{/other_user}",
+ "gists_url": "https://api.github.com/users/supabase/gists{/gist_id}",
+ "starred_url": "https://api.github.com/users/supabase/starred{/owner}{/repo}",
+ "subscriptions_url": "https://api.github.com/users/supabase/subscriptions",
+ "organizations_url": "https://api.github.com/users/supabase/orgs",
+ "repos_url": "https://api.github.com/users/supabase/repos",
+ "events_url": "https://api.github.com/users/supabase/events{/privacy}",
+ "received_events_url": "https://api.github.com/users/supabase/received_events",
+ "type": "Organization",
+ "site_admin": false
+ },
+ "html_url": "https://github.com/supabase/pg_listen",
+ "description": "Trigger shell command from NOTIFY",
+ "fork": true,
+ "url": "https://api.github.com/repos/supabase/pg_listen",
+ "forks_url": "https://api.github.com/repos/supabase/pg_listen/forks",
+ "keys_url": "https://api.github.com/repos/supabase/pg_listen/keys{/key_id}",
+ "collaborators_url": "https://api.github.com/repos/supabase/pg_listen/collaborators{/collaborator}",
+ "teams_url": "https://api.github.com/repos/supabase/pg_listen/teams",
+ "hooks_url": "https://api.github.com/repos/supabase/pg_listen/hooks",
+ "issue_events_url": "https://api.github.com/repos/supabase/pg_listen/issues/events{/number}",
+ "events_url": "https://api.github.com/repos/supabase/pg_listen/events",
+ "assignees_url": "https://api.github.com/repos/supabase/pg_listen/assignees{/user}",
+ "branches_url": "https://api.github.com/repos/supabase/pg_listen/branches{/branch}",
+ "tags_url": "https://api.github.com/repos/supabase/pg_listen/tags",
+ "blobs_url": "https://api.github.com/repos/supabase/pg_listen/git/blobs{/sha}",
+ "git_tags_url": "https://api.github.com/repos/supabase/pg_listen/git/tags{/sha}",
+ "git_refs_url": "https://api.github.com/repos/supabase/pg_listen/git/refs{/sha}",
+ "trees_url": "https://api.github.com/repos/supabase/pg_listen/git/trees{/sha}",
+ "statuses_url": "https://api.github.com/repos/supabase/pg_listen/statuses/{sha}",
+ "languages_url": "https://api.github.com/repos/supabase/pg_listen/languages",
+ "stargazers_url": "https://api.github.com/repos/supabase/pg_listen/stargazers",
+ "contributors_url": "https://api.github.com/repos/supabase/pg_listen/contributors",
+ "subscribers_url": "https://api.github.com/repos/supabase/pg_listen/subscribers",
+ "subscription_url": "https://api.github.com/repos/supabase/pg_listen/subscription",
+ "commits_url": "https://api.github.com/repos/supabase/pg_listen/commits{/sha}",
+ "git_commits_url": "https://api.github.com/repos/supabase/pg_listen/git/commits{/sha}",
+ "comments_url": "https://api.github.com/repos/supabase/pg_listen/comments{/number}",
+ "issue_comment_url": "https://api.github.com/repos/supabase/pg_listen/issues/comments{/number}",
+ "contents_url": "https://api.github.com/repos/supabase/pg_listen/contents/{+path}",
+ "compare_url": "https://api.github.com/repos/supabase/pg_listen/compare/{base}...{head}",
+ "merges_url": "https://api.github.com/repos/supabase/pg_listen/merges",
+ "archive_url": "https://api.github.com/repos/supabase/pg_listen/{archive_format}{/ref}",
+ "downloads_url": "https://api.github.com/repos/supabase/pg_listen/downloads",
+ "issues_url": "https://api.github.com/repos/supabase/pg_listen/issues{/number}",
+ "pulls_url": "https://api.github.com/repos/supabase/pg_listen/pulls{/number}",
+ "milestones_url": "https://api.github.com/repos/supabase/pg_listen/milestones{/number}",
+ "notifications_url": "https://api.github.com/repos/supabase/pg_listen/notifications{?since,all,participating}",
+ "labels_url": "https://api.github.com/repos/supabase/pg_listen/labels{/name}",
+ "releases_url": "https://api.github.com/repos/supabase/pg_listen/releases{/id}",
+ "deployments_url": "https://api.github.com/repos/supabase/pg_listen/deployments",
+ "created_at": "2020-04-23T14:54:20Z",
+ "updated_at": "2020-06-19T01:12:20Z",
+ "pushed_at": "2020-04-23T15:16:06Z",
+ "git_url": "git://github.com/supabase/pg_listen.git",
+ "ssh_url": "git@github.com:supabase/pg_listen.git",
+ "clone_url": "https://github.com/supabase/pg_listen.git",
+ "svn_url": "https://github.com/supabase/pg_listen",
+ "homepage": null,
+ "size": 20,
+ "stargazers_count": 0,
+ "watchers_count": 0,
+ "language": "C",
+ "has_issues": false,
+ "has_projects": true,
+ "has_downloads": true,
+ "has_wiki": true,
+ "has_pages": false,
+ "forks_count": 0,
+ "mirror_url": null,
+ "archived": false,
+ "disabled": false,
+ "open_issues_count": 0,
+ "license": {
+ "key": "mit",
+ "name": "MIT License",
+ "spdx_id": "MIT",
+ "url": "https://api.github.com/licenses/mit",
+ "node_id": "MDc6TGljZW5zZTEz"
+ },
+ "forks": 0,
+ "open_issues": 0,
+ "watchers": 0,
+ "default_branch": "master",
+ "temp_clone_token": null,
+ "organization": {
+ "login": "supabase",
+ "id": 54469796,
+ "node_id": "MDEyOk9yZ2FuaXphdGlvbjU0NDY5Nzk2",
+ "avatar_url": "https://avatars3.githubusercontent.com/u/54469796?v=4",
+ "gravatar_id": "",
+ "url": "https://api.github.com/users/supabase",
+ "html_url": "https://github.com/supabase",
+ "followers_url": "https://api.github.com/users/supabase/followers",
+ "following_url": "https://api.github.com/users/supabase/following{/other_user}",
+ "gists_url": "https://api.github.com/users/supabase/gists{/gist_id}",
+ "starred_url": "https://api.github.com/users/supabase/starred{/owner}{/repo}",
+ "subscriptions_url": "https://api.github.com/users/supabase/subscriptions",
+ "organizations_url": "https://api.github.com/users/supabase/orgs",
+ "repos_url": "https://api.github.com/users/supabase/repos",
+ "events_url": "https://api.github.com/users/supabase/events{/privacy}",
+ "received_events_url": "https://api.github.com/users/supabase/received_events",
+ "type": "Organization",
+ "site_admin": false
+ },
+ "parent": {
+ "id": 124506929,
+ "node_id": "MDEwOlJlcG9zaXRvcnkxMjQ1MDY5Mjk=",
+ "name": "pg_listen",
+ "full_name": "begriffs/pg_listen",
+ "private": false,
+ "owner": {
+ "login": "begriffs",
+ "id": 911911,
+ "node_id": "MDQ6VXNlcjkxMTkxMQ==",
+ "avatar_url": "https://avatars2.githubusercontent.com/u/911911?v=4",
+ "gravatar_id": "",
+ "url": "https://api.github.com/users/begriffs",
+ "html_url": "https://github.com/begriffs",
+ "followers_url": "https://api.github.com/users/begriffs/followers",
+ "following_url": "https://api.github.com/users/begriffs/following{/other_user}",
+ "gists_url": "https://api.github.com/users/begriffs/gists{/gist_id}",
+ "starred_url": "https://api.github.com/users/begriffs/starred{/owner}{/repo}",
+ "subscriptions_url": "https://api.github.com/users/begriffs/subscriptions",
+ "organizations_url": "https://api.github.com/users/begriffs/orgs",
+ "repos_url": "https://api.github.com/users/begriffs/repos",
+ "events_url": "https://api.github.com/users/begriffs/events{/privacy}",
+ "received_events_url": "https://api.github.com/users/begriffs/received_events",
+ "type": "User",
+ "site_admin": false
+ },
+ "html_url": "https://github.com/begriffs/pg_listen",
+ "description": "Trigger shell command from NOTIFY",
+ "fork": false,
+ "url": "https://api.github.com/repos/begriffs/pg_listen",
+ "forks_url": "https://api.github.com/repos/begriffs/pg_listen/forks",
+ "keys_url": "https://api.github.com/repos/begriffs/pg_listen/keys{/key_id}",
+ "collaborators_url": "https://api.github.com/repos/begriffs/pg_listen/collaborators{/collaborator}",
+ "teams_url": "https://api.github.com/repos/begriffs/pg_listen/teams",
+ "hooks_url": "https://api.github.com/repos/begriffs/pg_listen/hooks",
+ "issue_events_url": "https://api.github.com/repos/begriffs/pg_listen/issues/events{/number}",
+ "events_url": "https://api.github.com/repos/begriffs/pg_listen/events",
+ "assignees_url": "https://api.github.com/repos/begriffs/pg_listen/assignees{/user}",
+ "branches_url": "https://api.github.com/repos/begriffs/pg_listen/branches{/branch}",
+ "tags_url": "https://api.github.com/repos/begriffs/pg_listen/tags",
+ "blobs_url": "https://api.github.com/repos/begriffs/pg_listen/git/blobs{/sha}",
+ "git_tags_url": "https://api.github.com/repos/begriffs/pg_listen/git/tags{/sha}",
+ "git_refs_url": "https://api.github.com/repos/begriffs/pg_listen/git/refs{/sha}",
+ "trees_url": "https://api.github.com/repos/begriffs/pg_listen/git/trees{/sha}",
+ "statuses_url": "https://api.github.com/repos/begriffs/pg_listen/statuses/{sha}",
+ "languages_url": "https://api.github.com/repos/begriffs/pg_listen/languages",
+ "stargazers_url": "https://api.github.com/repos/begriffs/pg_listen/stargazers",
+ "contributors_url": "https://api.github.com/repos/begriffs/pg_listen/contributors",
+ "subscribers_url": "https://api.github.com/repos/begriffs/pg_listen/subscribers",
+ "subscription_url": "https://api.github.com/repos/begriffs/pg_listen/subscription",
+ "commits_url": "https://api.github.com/repos/begriffs/pg_listen/commits{/sha}",
+ "git_commits_url": "https://api.github.com/repos/begriffs/pg_listen/git/commits{/sha}",
+ "comments_url": "https://api.github.com/repos/begriffs/pg_listen/comments{/number}",
+ "issue_comment_url": "https://api.github.com/repos/begriffs/pg_listen/issues/comments{/number}",
+ "contents_url": "https://api.github.com/repos/begriffs/pg_listen/contents/{+path}",
+ "compare_url": "https://api.github.com/repos/begriffs/pg_listen/compare/{base}...{head}",
+ "merges_url": "https://api.github.com/repos/begriffs/pg_listen/merges",
+ "archive_url": "https://api.github.com/repos/begriffs/pg_listen/{archive_format}{/ref}",
+ "downloads_url": "https://api.github.com/repos/begriffs/pg_listen/downloads",
+ "issues_url": "https://api.github.com/repos/begriffs/pg_listen/issues{/number}",
+ "pulls_url": "https://api.github.com/repos/begriffs/pg_listen/pulls{/number}",
+ "milestones_url": "https://api.github.com/repos/begriffs/pg_listen/milestones{/number}",
+ "notifications_url": "https://api.github.com/repos/begriffs/pg_listen/notifications{?since,all,participating}",
+ "labels_url": "https://api.github.com/repos/begriffs/pg_listen/labels{/name}",
+ "releases_url": "https://api.github.com/repos/begriffs/pg_listen/releases{/id}",
+ "deployments_url": "https://api.github.com/repos/begriffs/pg_listen/deployments",
+ "created_at": "2018-03-09T07:51:43Z",
+ "updated_at": "2020-06-19T01:12:49Z",
+ "pushed_at": "2020-02-27T02:45:01Z",
+ "git_url": "git://github.com/begriffs/pg_listen.git",
+ "ssh_url": "git@github.com:begriffs/pg_listen.git",
+ "clone_url": "https://github.com/begriffs/pg_listen.git",
+ "svn_url": "https://github.com/begriffs/pg_listen",
+ "homepage": null,
+ "size": 19,
+ "stargazers_count": 69,
+ "watchers_count": 69,
+ "language": "C",
+ "has_issues": true,
+ "has_projects": true,
+ "has_downloads": true,
+ "has_wiki": true,
+ "has_pages": false,
+ "forks_count": 9,
+ "mirror_url": null,
+ "archived": false,
+ "disabled": false,
+ "open_issues_count": 1,
+ "license": {
+ "key": "mit",
+ "name": "MIT License",
+ "spdx_id": "MIT",
+ "url": "https://api.github.com/licenses/mit",
+ "node_id": "MDc6TGljZW5zZTEz"
+ },
+ "forks": 9,
+ "open_issues": 1,
+ "watchers": 69,
+ "default_branch": "master"
+ },
+ "source": {
+ "id": 124506929,
+ "node_id": "MDEwOlJlcG9zaXRvcnkxMjQ1MDY5Mjk=",
+ "name": "pg_listen",
+ "full_name": "begriffs/pg_listen",
+ "private": false,
+ "owner": {
+ "login": "begriffs",
+ "id": 911911,
+ "node_id": "MDQ6VXNlcjkxMTkxMQ==",
+ "avatar_url": "https://avatars2.githubusercontent.com/u/911911?v=4",
+ "gravatar_id": "",
+ "url": "https://api.github.com/users/begriffs",
+ "html_url": "https://github.com/begriffs",
+ "followers_url": "https://api.github.com/users/begriffs/followers",
+ "following_url": "https://api.github.com/users/begriffs/following{/other_user}",
+ "gists_url": "https://api.github.com/users/begriffs/gists{/gist_id}",
+ "starred_url": "https://api.github.com/users/begriffs/starred{/owner}{/repo}",
+ "subscriptions_url": "https://api.github.com/users/begriffs/subscriptions",
+ "organizations_url": "https://api.github.com/users/begriffs/orgs",
+ "repos_url": "https://api.github.com/users/begriffs/repos",
+ "events_url": "https://api.github.com/users/begriffs/events{/privacy}",
+ "received_events_url": "https://api.github.com/users/begriffs/received_events",
+ "type": "User",
+ "site_admin": false
+ },
+ "html_url": "https://github.com/begriffs/pg_listen",
+ "description": "Trigger shell command from NOTIFY",
+ "fork": false,
+ "url": "https://api.github.com/repos/begriffs/pg_listen",
+ "forks_url": "https://api.github.com/repos/begriffs/pg_listen/forks",
+ "keys_url": "https://api.github.com/repos/begriffs/pg_listen/keys{/key_id}",
+ "collaborators_url": "https://api.github.com/repos/begriffs/pg_listen/collaborators{/collaborator}",
+ "teams_url": "https://api.github.com/repos/begriffs/pg_listen/teams",
+ "hooks_url": "https://api.github.com/repos/begriffs/pg_listen/hooks",
+ "issue_events_url": "https://api.github.com/repos/begriffs/pg_listen/issues/events{/number}",
+ "events_url": "https://api.github.com/repos/begriffs/pg_listen/events",
+ "assignees_url": "https://api.github.com/repos/begriffs/pg_listen/assignees{/user}",
+ "branches_url": "https://api.github.com/repos/begriffs/pg_listen/branches{/branch}",
+ "tags_url": "https://api.github.com/repos/begriffs/pg_listen/tags",
+ "blobs_url": "https://api.github.com/repos/begriffs/pg_listen/git/blobs{/sha}",
+ "git_tags_url": "https://api.github.com/repos/begriffs/pg_listen/git/tags{/sha}",
+ "git_refs_url": "https://api.github.com/repos/begriffs/pg_listen/git/refs{/sha}",
+ "trees_url": "https://api.github.com/repos/begriffs/pg_listen/git/trees{/sha}",
+ "statuses_url": "https://api.github.com/repos/begriffs/pg_listen/statuses/{sha}",
+ "languages_url": "https://api.github.com/repos/begriffs/pg_listen/languages",
+ "stargazers_url": "https://api.github.com/repos/begriffs/pg_listen/stargazers",
+ "contributors_url": "https://api.github.com/repos/begriffs/pg_listen/contributors",
+ "subscribers_url": "https://api.github.com/repos/begriffs/pg_listen/subscribers",
+ "subscription_url": "https://api.github.com/repos/begriffs/pg_listen/subscription",
+ "commits_url": "https://api.github.com/repos/begriffs/pg_listen/commits{/sha}",
+ "git_commits_url": "https://api.github.com/repos/begriffs/pg_listen/git/commits{/sha}",
+ "comments_url": "https://api.github.com/repos/begriffs/pg_listen/comments{/number}",
+ "issue_comment_url": "https://api.github.com/repos/begriffs/pg_listen/issues/comments{/number}",
+ "contents_url": "https://api.github.com/repos/begriffs/pg_listen/contents/{+path}",
+ "compare_url": "https://api.github.com/repos/begriffs/pg_listen/compare/{base}...{head}",
+ "merges_url": "https://api.github.com/repos/begriffs/pg_listen/merges",
+ "archive_url": "https://api.github.com/repos/begriffs/pg_listen/{archive_format}{/ref}",
+ "downloads_url": "https://api.github.com/repos/begriffs/pg_listen/downloads",
+ "issues_url": "https://api.github.com/repos/begriffs/pg_listen/issues{/number}",
+ "pulls_url": "https://api.github.com/repos/begriffs/pg_listen/pulls{/number}",
+ "milestones_url": "https://api.github.com/repos/begriffs/pg_listen/milestones{/number}",
+ "notifications_url": "https://api.github.com/repos/begriffs/pg_listen/notifications{?since,all,participating}",
+ "labels_url": "https://api.github.com/repos/begriffs/pg_listen/labels{/name}",
+ "releases_url": "https://api.github.com/repos/begriffs/pg_listen/releases{/id}",
+ "deployments_url": "https://api.github.com/repos/begriffs/pg_listen/deployments",
+ "created_at": "2018-03-09T07:51:43Z",
+ "updated_at": "2020-06-19T01:12:49Z",
+ "pushed_at": "2020-02-27T02:45:01Z",
+ "git_url": "git://github.com/begriffs/pg_listen.git",
+ "ssh_url": "git@github.com:begriffs/pg_listen.git",
+ "clone_url": "https://github.com/begriffs/pg_listen.git",
+ "svn_url": "https://github.com/begriffs/pg_listen",
+ "homepage": null,
+ "size": 19,
+ "stargazers_count": 69,
+ "watchers_count": 69,
+ "language": "C",
+ "has_issues": true,
+ "has_projects": true,
+ "has_downloads": true,
+ "has_wiki": true,
+ "has_pages": false,
+ "forks_count": 9,
+ "mirror_url": null,
+ "archived": false,
+ "disabled": false,
+ "open_issues_count": 1,
+ "license": {
+ "key": "mit",
+ "name": "MIT License",
+ "spdx_id": "MIT",
+ "url": "https://api.github.com/licenses/mit",
+ "node_id": "MDc6TGljZW5zZTEz"
+ },
+ "forks": 9,
+ "open_issues": 1,
+ "watchers": 69,
+ "default_branch": "master"
+ },
+ "network_count": 9,
+ "subscribers_count": 0
+}
diff --git a/apps/temp-docs/data/repos/postgres.json b/apps/temp-docs/data/repos/postgres.json
new file mode 100644
index 00000000000..c2a8e4250cf
--- /dev/null
+++ b/apps/temp-docs/data/repos/postgres.json
@@ -0,0 +1,123 @@
+{
+ "id": 254578428,
+ "node_id": "MDEwOlJlcG9zaXRvcnkyNTQ1Nzg0Mjg=",
+ "name": "postgres",
+ "full_name": "supabase/postgres",
+ "private": false,
+ "owner": {
+ "login": "supabase",
+ "id": 54469796,
+ "node_id": "MDEyOk9yZ2FuaXphdGlvbjU0NDY5Nzk2",
+ "avatar_url": "https://avatars3.githubusercontent.com/u/54469796?v=4",
+ "gravatar_id": "",
+ "url": "https://api.github.com/users/supabase",
+ "html_url": "https://github.com/supabase",
+ "followers_url": "https://api.github.com/users/supabase/followers",
+ "following_url": "https://api.github.com/users/supabase/following{/other_user}",
+ "gists_url": "https://api.github.com/users/supabase/gists{/gist_id}",
+ "starred_url": "https://api.github.com/users/supabase/starred{/owner}{/repo}",
+ "subscriptions_url": "https://api.github.com/users/supabase/subscriptions",
+ "organizations_url": "https://api.github.com/users/supabase/orgs",
+ "repos_url": "https://api.github.com/users/supabase/repos",
+ "events_url": "https://api.github.com/users/supabase/events{/privacy}",
+ "received_events_url": "https://api.github.com/users/supabase/received_events",
+ "type": "Organization",
+ "site_admin": false
+ },
+ "html_url": "https://github.com/supabase/postgres",
+ "description": "Unmodified Postgres with some useful plugins",
+ "fork": false,
+ "url": "https://api.github.com/repos/supabase/postgres",
+ "forks_url": "https://api.github.com/repos/supabase/postgres/forks",
+ "keys_url": "https://api.github.com/repos/supabase/postgres/keys{/key_id}",
+ "collaborators_url": "https://api.github.com/repos/supabase/postgres/collaborators{/collaborator}",
+ "teams_url": "https://api.github.com/repos/supabase/postgres/teams",
+ "hooks_url": "https://api.github.com/repos/supabase/postgres/hooks",
+ "issue_events_url": "https://api.github.com/repos/supabase/postgres/issues/events{/number}",
+ "events_url": "https://api.github.com/repos/supabase/postgres/events",
+ "assignees_url": "https://api.github.com/repos/supabase/postgres/assignees{/user}",
+ "branches_url": "https://api.github.com/repos/supabase/postgres/branches{/branch}",
+ "tags_url": "https://api.github.com/repos/supabase/postgres/tags",
+ "blobs_url": "https://api.github.com/repos/supabase/postgres/git/blobs{/sha}",
+ "git_tags_url": "https://api.github.com/repos/supabase/postgres/git/tags{/sha}",
+ "git_refs_url": "https://api.github.com/repos/supabase/postgres/git/refs{/sha}",
+ "trees_url": "https://api.github.com/repos/supabase/postgres/git/trees{/sha}",
+ "statuses_url": "https://api.github.com/repos/supabase/postgres/statuses/{sha}",
+ "languages_url": "https://api.github.com/repos/supabase/postgres/languages",
+ "stargazers_url": "https://api.github.com/repos/supabase/postgres/stargazers",
+ "contributors_url": "https://api.github.com/repos/supabase/postgres/contributors",
+ "subscribers_url": "https://api.github.com/repos/supabase/postgres/subscribers",
+ "subscription_url": "https://api.github.com/repos/supabase/postgres/subscription",
+ "commits_url": "https://api.github.com/repos/supabase/postgres/commits{/sha}",
+ "git_commits_url": "https://api.github.com/repos/supabase/postgres/git/commits{/sha}",
+ "comments_url": "https://api.github.com/repos/supabase/postgres/comments{/number}",
+ "issue_comment_url": "https://api.github.com/repos/supabase/postgres/issues/comments{/number}",
+ "contents_url": "https://api.github.com/repos/supabase/postgres/contents/{+path}",
+ "compare_url": "https://api.github.com/repos/supabase/postgres/compare/{base}...{head}",
+ "merges_url": "https://api.github.com/repos/supabase/postgres/merges",
+ "archive_url": "https://api.github.com/repos/supabase/postgres/{archive_format}{/ref}",
+ "downloads_url": "https://api.github.com/repos/supabase/postgres/downloads",
+ "issues_url": "https://api.github.com/repos/supabase/postgres/issues{/number}",
+ "pulls_url": "https://api.github.com/repos/supabase/postgres/pulls{/number}",
+ "milestones_url": "https://api.github.com/repos/supabase/postgres/milestones{/number}",
+ "notifications_url": "https://api.github.com/repos/supabase/postgres/notifications{?since,all,participating}",
+ "labels_url": "https://api.github.com/repos/supabase/postgres/labels{/name}",
+ "releases_url": "https://api.github.com/repos/supabase/postgres/releases{/id}",
+ "deployments_url": "https://api.github.com/repos/supabase/postgres/deployments",
+ "created_at": "2020-04-10T08:02:57Z",
+ "updated_at": "2020-10-30T08:25:37Z",
+ "pushed_at": "2020-10-02T08:31:17Z",
+ "git_url": "git://github.com/supabase/postgres.git",
+ "ssh_url": "git@github.com:supabase/postgres.git",
+ "clone_url": "https://github.com/supabase/postgres.git",
+ "svn_url": "https://github.com/supabase/postgres",
+ "homepage": "https://supabase.com",
+ "size": 117,
+ "stargazers_count": 151,
+ "watchers_count": 151,
+ "language": "Shell",
+ "has_issues": true,
+ "has_projects": true,
+ "has_downloads": true,
+ "has_wiki": true,
+ "has_pages": false,
+ "forks_count": 4,
+ "mirror_url": null,
+ "archived": false,
+ "disabled": false,
+ "open_issues_count": 4,
+ "license": {
+ "key": "postgresql",
+ "name": "PostgreSQL License",
+ "spdx_id": "PostgreSQL",
+ "url": "https://api.github.com/licenses/postgresql",
+ "node_id": "MDc6TGljZW5zZTMx"
+ },
+ "forks": 4,
+ "open_issues": 4,
+ "watchers": 151,
+ "default_branch": "develop",
+ "temp_clone_token": null,
+ "organization": {
+ "login": "supabase",
+ "id": 54469796,
+ "node_id": "MDEyOk9yZ2FuaXphdGlvbjU0NDY5Nzk2",
+ "avatar_url": "https://avatars3.githubusercontent.com/u/54469796?v=4",
+ "gravatar_id": "",
+ "url": "https://api.github.com/users/supabase",
+ "html_url": "https://github.com/supabase",
+ "followers_url": "https://api.github.com/users/supabase/followers",
+ "following_url": "https://api.github.com/users/supabase/following{/other_user}",
+ "gists_url": "https://api.github.com/users/supabase/gists{/gist_id}",
+ "starred_url": "https://api.github.com/users/supabase/starred{/owner}{/repo}",
+ "subscriptions_url": "https://api.github.com/users/supabase/subscriptions",
+ "organizations_url": "https://api.github.com/users/supabase/orgs",
+ "repos_url": "https://api.github.com/users/supabase/repos",
+ "events_url": "https://api.github.com/users/supabase/events{/privacy}",
+ "received_events_url": "https://api.github.com/users/supabase/received_events",
+ "type": "Organization",
+ "site_admin": false
+ },
+ "network_count": 4,
+ "subscribers_count": 8
+}
diff --git a/apps/temp-docs/data/repos/postgrest-js.json b/apps/temp-docs/data/repos/postgrest-js.json
new file mode 100644
index 00000000000..5719e6cf64d
--- /dev/null
+++ b/apps/temp-docs/data/repos/postgrest-js.json
@@ -0,0 +1,123 @@
+{
+ "id": 236425882,
+ "node_id": "MDEwOlJlcG9zaXRvcnkyMzY0MjU4ODI=",
+ "name": "postgrest-js",
+ "full_name": "supabase/postgrest-js",
+ "private": false,
+ "owner": {
+ "login": "supabase",
+ "id": 54469796,
+ "node_id": "MDEyOk9yZ2FuaXphdGlvbjU0NDY5Nzk2",
+ "avatar_url": "https://avatars3.githubusercontent.com/u/54469796?v=4",
+ "gravatar_id": "",
+ "url": "https://api.github.com/users/supabase",
+ "html_url": "https://github.com/supabase",
+ "followers_url": "https://api.github.com/users/supabase/followers",
+ "following_url": "https://api.github.com/users/supabase/following{/other_user}",
+ "gists_url": "https://api.github.com/users/supabase/gists{/gist_id}",
+ "starred_url": "https://api.github.com/users/supabase/starred{/owner}{/repo}",
+ "subscriptions_url": "https://api.github.com/users/supabase/subscriptions",
+ "organizations_url": "https://api.github.com/users/supabase/orgs",
+ "repos_url": "https://api.github.com/users/supabase/repos",
+ "events_url": "https://api.github.com/users/supabase/events{/privacy}",
+ "received_events_url": "https://api.github.com/users/supabase/received_events",
+ "type": "Organization",
+ "site_admin": false
+ },
+ "html_url": "https://github.com/supabase/postgrest-js",
+ "description": "Isomorphic JavaScript client for PostgREST",
+ "fork": false,
+ "url": "https://api.github.com/repos/supabase/postgrest-js",
+ "forks_url": "https://api.github.com/repos/supabase/postgrest-js/forks",
+ "keys_url": "https://api.github.com/repos/supabase/postgrest-js/keys{/key_id}",
+ "collaborators_url": "https://api.github.com/repos/supabase/postgrest-js/collaborators{/collaborator}",
+ "teams_url": "https://api.github.com/repos/supabase/postgrest-js/teams",
+ "hooks_url": "https://api.github.com/repos/supabase/postgrest-js/hooks",
+ "issue_events_url": "https://api.github.com/repos/supabase/postgrest-js/issues/events{/number}",
+ "events_url": "https://api.github.com/repos/supabase/postgrest-js/events",
+ "assignees_url": "https://api.github.com/repos/supabase/postgrest-js/assignees{/user}",
+ "branches_url": "https://api.github.com/repos/supabase/postgrest-js/branches{/branch}",
+ "tags_url": "https://api.github.com/repos/supabase/postgrest-js/tags",
+ "blobs_url": "https://api.github.com/repos/supabase/postgrest-js/git/blobs{/sha}",
+ "git_tags_url": "https://api.github.com/repos/supabase/postgrest-js/git/tags{/sha}",
+ "git_refs_url": "https://api.github.com/repos/supabase/postgrest-js/git/refs{/sha}",
+ "trees_url": "https://api.github.com/repos/supabase/postgrest-js/git/trees{/sha}",
+ "statuses_url": "https://api.github.com/repos/supabase/postgrest-js/statuses/{sha}",
+ "languages_url": "https://api.github.com/repos/supabase/postgrest-js/languages",
+ "stargazers_url": "https://api.github.com/repos/supabase/postgrest-js/stargazers",
+ "contributors_url": "https://api.github.com/repos/supabase/postgrest-js/contributors",
+ "subscribers_url": "https://api.github.com/repos/supabase/postgrest-js/subscribers",
+ "subscription_url": "https://api.github.com/repos/supabase/postgrest-js/subscription",
+ "commits_url": "https://api.github.com/repos/supabase/postgrest-js/commits{/sha}",
+ "git_commits_url": "https://api.github.com/repos/supabase/postgrest-js/git/commits{/sha}",
+ "comments_url": "https://api.github.com/repos/supabase/postgrest-js/comments{/number}",
+ "issue_comment_url": "https://api.github.com/repos/supabase/postgrest-js/issues/comments{/number}",
+ "contents_url": "https://api.github.com/repos/supabase/postgrest-js/contents/{+path}",
+ "compare_url": "https://api.github.com/repos/supabase/postgrest-js/compare/{base}...{head}",
+ "merges_url": "https://api.github.com/repos/supabase/postgrest-js/merges",
+ "archive_url": "https://api.github.com/repos/supabase/postgrest-js/{archive_format}{/ref}",
+ "downloads_url": "https://api.github.com/repos/supabase/postgrest-js/downloads",
+ "issues_url": "https://api.github.com/repos/supabase/postgrest-js/issues{/number}",
+ "pulls_url": "https://api.github.com/repos/supabase/postgrest-js/pulls{/number}",
+ "milestones_url": "https://api.github.com/repos/supabase/postgrest-js/milestones{/number}",
+ "notifications_url": "https://api.github.com/repos/supabase/postgrest-js/notifications{?since,all,participating}",
+ "labels_url": "https://api.github.com/repos/supabase/postgrest-js/labels{/name}",
+ "releases_url": "https://api.github.com/repos/supabase/postgrest-js/releases{/id}",
+ "deployments_url": "https://api.github.com/repos/supabase/postgrest-js/deployments",
+ "created_at": "2020-01-27T05:32:19Z",
+ "updated_at": "2020-08-23T03:34:50Z",
+ "pushed_at": "2020-08-23T03:34:51Z",
+ "git_url": "git://github.com/supabase/postgrest-js.git",
+ "ssh_url": "git@github.com:supabase/postgrest-js.git",
+ "clone_url": "https://github.com/supabase/postgrest-js.git",
+ "svn_url": "https://github.com/supabase/postgrest-js",
+ "homepage": "https://supabase.com",
+ "size": 3225,
+ "stargazers_count": 79,
+ "watchers_count": 79,
+ "language": "JavaScript",
+ "has_issues": true,
+ "has_projects": true,
+ "has_downloads": true,
+ "has_wiki": true,
+ "has_pages": false,
+ "forks_count": 3,
+ "mirror_url": null,
+ "archived": false,
+ "disabled": false,
+ "open_issues_count": 2,
+ "license": {
+ "key": "mit",
+ "name": "MIT License",
+ "spdx_id": "MIT",
+ "url": "https://api.github.com/licenses/mit",
+ "node_id": "MDc6TGljZW5zZTEz"
+ },
+ "forks": 3,
+ "open_issues": 2,
+ "watchers": 79,
+ "default_branch": "master",
+ "temp_clone_token": null,
+ "organization": {
+ "login": "supabase",
+ "id": 54469796,
+ "node_id": "MDEyOk9yZ2FuaXphdGlvbjU0NDY5Nzk2",
+ "avatar_url": "https://avatars3.githubusercontent.com/u/54469796?v=4",
+ "gravatar_id": "",
+ "url": "https://api.github.com/users/supabase",
+ "html_url": "https://github.com/supabase",
+ "followers_url": "https://api.github.com/users/supabase/followers",
+ "following_url": "https://api.github.com/users/supabase/following{/other_user}",
+ "gists_url": "https://api.github.com/users/supabase/gists{/gist_id}",
+ "starred_url": "https://api.github.com/users/supabase/starred{/owner}{/repo}",
+ "subscriptions_url": "https://api.github.com/users/supabase/subscriptions",
+ "organizations_url": "https://api.github.com/users/supabase/orgs",
+ "repos_url": "https://api.github.com/users/supabase/repos",
+ "events_url": "https://api.github.com/users/supabase/events{/privacy}",
+ "received_events_url": "https://api.github.com/users/supabase/received_events",
+ "type": "Organization",
+ "site_admin": false
+ },
+ "network_count": 3,
+ "subscribers_count": 9
+}
diff --git a/apps/temp-docs/data/repos/postgrest-py.json b/apps/temp-docs/data/repos/postgrest-py.json
new file mode 100644
index 00000000000..0242cc79bd7
--- /dev/null
+++ b/apps/temp-docs/data/repos/postgrest-py.json
@@ -0,0 +1,117 @@
+{
+ "id": 263793262,
+ "node_id": "MDEwOlJlcG9zaXRvcnkyNjM3OTMyNjI=",
+ "name": "postgrest-py",
+ "full_name": "supabase/postgrest-py",
+ "private": false,
+ "owner": {
+ "login": "supabase",
+ "id": 54469796,
+ "node_id": "MDEyOk9yZ2FuaXphdGlvbjU0NDY5Nzk2",
+ "avatar_url": "https://avatars3.githubusercontent.com/u/54469796?v=4",
+ "gravatar_id": "",
+ "url": "https://api.github.com/users/supabase",
+ "html_url": "https://github.com/supabase",
+ "followers_url": "https://api.github.com/users/supabase/followers",
+ "following_url": "https://api.github.com/users/supabase/following{/other_user}",
+ "gists_url": "https://api.github.com/users/supabase/gists{/gist_id}",
+ "starred_url": "https://api.github.com/users/supabase/starred{/owner}{/repo}",
+ "subscriptions_url": "https://api.github.com/users/supabase/subscriptions",
+ "organizations_url": "https://api.github.com/users/supabase/orgs",
+ "repos_url": "https://api.github.com/users/supabase/repos",
+ "events_url": "https://api.github.com/users/supabase/events{/privacy}",
+ "received_events_url": "https://api.github.com/users/supabase/received_events",
+ "type": "Organization",
+ "site_admin": false
+ },
+ "html_url": "https://github.com/supabase/postgrest-py",
+ "description": null,
+ "fork": false,
+ "url": "https://api.github.com/repos/supabase/postgrest-py",
+ "forks_url": "https://api.github.com/repos/supabase/postgrest-py/forks",
+ "keys_url": "https://api.github.com/repos/supabase/postgrest-py/keys{/key_id}",
+ "collaborators_url": "https://api.github.com/repos/supabase/postgrest-py/collaborators{/collaborator}",
+ "teams_url": "https://api.github.com/repos/supabase/postgrest-py/teams",
+ "hooks_url": "https://api.github.com/repos/supabase/postgrest-py/hooks",
+ "issue_events_url": "https://api.github.com/repos/supabase/postgrest-py/issues/events{/number}",
+ "events_url": "https://api.github.com/repos/supabase/postgrest-py/events",
+ "assignees_url": "https://api.github.com/repos/supabase/postgrest-py/assignees{/user}",
+ "branches_url": "https://api.github.com/repos/supabase/postgrest-py/branches{/branch}",
+ "tags_url": "https://api.github.com/repos/supabase/postgrest-py/tags",
+ "blobs_url": "https://api.github.com/repos/supabase/postgrest-py/git/blobs{/sha}",
+ "git_tags_url": "https://api.github.com/repos/supabase/postgrest-py/git/tags{/sha}",
+ "git_refs_url": "https://api.github.com/repos/supabase/postgrest-py/git/refs{/sha}",
+ "trees_url": "https://api.github.com/repos/supabase/postgrest-py/git/trees{/sha}",
+ "statuses_url": "https://api.github.com/repos/supabase/postgrest-py/statuses/{sha}",
+ "languages_url": "https://api.github.com/repos/supabase/postgrest-py/languages",
+ "stargazers_url": "https://api.github.com/repos/supabase/postgrest-py/stargazers",
+ "contributors_url": "https://api.github.com/repos/supabase/postgrest-py/contributors",
+ "subscribers_url": "https://api.github.com/repos/supabase/postgrest-py/subscribers",
+ "subscription_url": "https://api.github.com/repos/supabase/postgrest-py/subscription",
+ "commits_url": "https://api.github.com/repos/supabase/postgrest-py/commits{/sha}",
+ "git_commits_url": "https://api.github.com/repos/supabase/postgrest-py/git/commits{/sha}",
+ "comments_url": "https://api.github.com/repos/supabase/postgrest-py/comments{/number}",
+ "issue_comment_url": "https://api.github.com/repos/supabase/postgrest-py/issues/comments{/number}",
+ "contents_url": "https://api.github.com/repos/supabase/postgrest-py/contents/{+path}",
+ "compare_url": "https://api.github.com/repos/supabase/postgrest-py/compare/{base}...{head}",
+ "merges_url": "https://api.github.com/repos/supabase/postgrest-py/merges",
+ "archive_url": "https://api.github.com/repos/supabase/postgrest-py/{archive_format}{/ref}",
+ "downloads_url": "https://api.github.com/repos/supabase/postgrest-py/downloads",
+ "issues_url": "https://api.github.com/repos/supabase/postgrest-py/issues{/number}",
+ "pulls_url": "https://api.github.com/repos/supabase/postgrest-py/pulls{/number}",
+ "milestones_url": "https://api.github.com/repos/supabase/postgrest-py/milestones{/number}",
+ "notifications_url": "https://api.github.com/repos/supabase/postgrest-py/notifications{?since,all,participating}",
+ "labels_url": "https://api.github.com/repos/supabase/postgrest-py/labels{/name}",
+ "releases_url": "https://api.github.com/repos/supabase/postgrest-py/releases{/id}",
+ "deployments_url": "https://api.github.com/repos/supabase/postgrest-py/deployments",
+ "created_at": "2020-05-14T02:18:24Z",
+ "updated_at": "2020-06-04T05:41:43Z",
+ "pushed_at": "2020-05-14T02:18:26Z",
+ "git_url": "git://github.com/supabase/postgrest-py.git",
+ "ssh_url": "git@github.com:supabase/postgrest-py.git",
+ "clone_url": "https://github.com/supabase/postgrest-py.git",
+ "svn_url": "https://github.com/supabase/postgrest-py",
+ "homepage": null,
+ "size": 0,
+ "stargazers_count": 2,
+ "watchers_count": 2,
+ "language": null,
+ "has_issues": true,
+ "has_projects": true,
+ "has_downloads": true,
+ "has_wiki": true,
+ "has_pages": false,
+ "forks_count": 0,
+ "mirror_url": null,
+ "archived": false,
+ "disabled": false,
+ "open_issues_count": 0,
+ "license": null,
+ "forks": 0,
+ "open_issues": 0,
+ "watchers": 2,
+ "default_branch": "master",
+ "temp_clone_token": null,
+ "organization": {
+ "login": "supabase",
+ "id": 54469796,
+ "node_id": "MDEyOk9yZ2FuaXphdGlvbjU0NDY5Nzk2",
+ "avatar_url": "https://avatars3.githubusercontent.com/u/54469796?v=4",
+ "gravatar_id": "",
+ "url": "https://api.github.com/users/supabase",
+ "html_url": "https://github.com/supabase",
+ "followers_url": "https://api.github.com/users/supabase/followers",
+ "following_url": "https://api.github.com/users/supabase/following{/other_user}",
+ "gists_url": "https://api.github.com/users/supabase/gists{/gist_id}",
+ "starred_url": "https://api.github.com/users/supabase/starred{/owner}{/repo}",
+ "subscriptions_url": "https://api.github.com/users/supabase/subscriptions",
+ "organizations_url": "https://api.github.com/users/supabase/orgs",
+ "repos_url": "https://api.github.com/users/supabase/repos",
+ "events_url": "https://api.github.com/users/supabase/events{/privacy}",
+ "received_events_url": "https://api.github.com/users/supabase/received_events",
+ "type": "Organization",
+ "site_admin": false
+ },
+ "network_count": 0,
+ "subscribers_count": 3
+}
diff --git a/apps/temp-docs/data/repos/postgrest-rs.json b/apps/temp-docs/data/repos/postgrest-rs.json
new file mode 100644
index 00000000000..bcf99e6a798
--- /dev/null
+++ b/apps/temp-docs/data/repos/postgrest-rs.json
@@ -0,0 +1,123 @@
+{
+ "id": 263793466,
+ "node_id": "MDEwOlJlcG9zaXRvcnkyNjM3OTM0NjY=",
+ "name": "postgrest-rs",
+ "full_name": "supabase/postgrest-rs",
+ "private": false,
+ "owner": {
+ "login": "supabase",
+ "id": 54469796,
+ "node_id": "MDEyOk9yZ2FuaXphdGlvbjU0NDY5Nzk2",
+ "avatar_url": "https://avatars3.githubusercontent.com/u/54469796?v=4",
+ "gravatar_id": "",
+ "url": "https://api.github.com/users/supabase",
+ "html_url": "https://github.com/supabase",
+ "followers_url": "https://api.github.com/users/supabase/followers",
+ "following_url": "https://api.github.com/users/supabase/following{/other_user}",
+ "gists_url": "https://api.github.com/users/supabase/gists{/gist_id}",
+ "starred_url": "https://api.github.com/users/supabase/starred{/owner}{/repo}",
+ "subscriptions_url": "https://api.github.com/users/supabase/subscriptions",
+ "organizations_url": "https://api.github.com/users/supabase/orgs",
+ "repos_url": "https://api.github.com/users/supabase/repos",
+ "events_url": "https://api.github.com/users/supabase/events{/privacy}",
+ "received_events_url": "https://api.github.com/users/supabase/received_events",
+ "type": "Organization",
+ "site_admin": false
+ },
+ "html_url": "https://github.com/supabase/postgrest-rs",
+ "description": "Rust client for PostgREST",
+ "fork": false,
+ "url": "https://api.github.com/repos/supabase/postgrest-rs",
+ "forks_url": "https://api.github.com/repos/supabase/postgrest-rs/forks",
+ "keys_url": "https://api.github.com/repos/supabase/postgrest-rs/keys{/key_id}",
+ "collaborators_url": "https://api.github.com/repos/supabase/postgrest-rs/collaborators{/collaborator}",
+ "teams_url": "https://api.github.com/repos/supabase/postgrest-rs/teams",
+ "hooks_url": "https://api.github.com/repos/supabase/postgrest-rs/hooks",
+ "issue_events_url": "https://api.github.com/repos/supabase/postgrest-rs/issues/events{/number}",
+ "events_url": "https://api.github.com/repos/supabase/postgrest-rs/events",
+ "assignees_url": "https://api.github.com/repos/supabase/postgrest-rs/assignees{/user}",
+ "branches_url": "https://api.github.com/repos/supabase/postgrest-rs/branches{/branch}",
+ "tags_url": "https://api.github.com/repos/supabase/postgrest-rs/tags",
+ "blobs_url": "https://api.github.com/repos/supabase/postgrest-rs/git/blobs{/sha}",
+ "git_tags_url": "https://api.github.com/repos/supabase/postgrest-rs/git/tags{/sha}",
+ "git_refs_url": "https://api.github.com/repos/supabase/postgrest-rs/git/refs{/sha}",
+ "trees_url": "https://api.github.com/repos/supabase/postgrest-rs/git/trees{/sha}",
+ "statuses_url": "https://api.github.com/repos/supabase/postgrest-rs/statuses/{sha}",
+ "languages_url": "https://api.github.com/repos/supabase/postgrest-rs/languages",
+ "stargazers_url": "https://api.github.com/repos/supabase/postgrest-rs/stargazers",
+ "contributors_url": "https://api.github.com/repos/supabase/postgrest-rs/contributors",
+ "subscribers_url": "https://api.github.com/repos/supabase/postgrest-rs/subscribers",
+ "subscription_url": "https://api.github.com/repos/supabase/postgrest-rs/subscription",
+ "commits_url": "https://api.github.com/repos/supabase/postgrest-rs/commits{/sha}",
+ "git_commits_url": "https://api.github.com/repos/supabase/postgrest-rs/git/commits{/sha}",
+ "comments_url": "https://api.github.com/repos/supabase/postgrest-rs/comments{/number}",
+ "issue_comment_url": "https://api.github.com/repos/supabase/postgrest-rs/issues/comments{/number}",
+ "contents_url": "https://api.github.com/repos/supabase/postgrest-rs/contents/{+path}",
+ "compare_url": "https://api.github.com/repos/supabase/postgrest-rs/compare/{base}...{head}",
+ "merges_url": "https://api.github.com/repos/supabase/postgrest-rs/merges",
+ "archive_url": "https://api.github.com/repos/supabase/postgrest-rs/{archive_format}{/ref}",
+ "downloads_url": "https://api.github.com/repos/supabase/postgrest-rs/downloads",
+ "issues_url": "https://api.github.com/repos/supabase/postgrest-rs/issues{/number}",
+ "pulls_url": "https://api.github.com/repos/supabase/postgrest-rs/pulls{/number}",
+ "milestones_url": "https://api.github.com/repos/supabase/postgrest-rs/milestones{/number}",
+ "notifications_url": "https://api.github.com/repos/supabase/postgrest-rs/notifications{?since,all,participating}",
+ "labels_url": "https://api.github.com/repos/supabase/postgrest-rs/labels{/name}",
+ "releases_url": "https://api.github.com/repos/supabase/postgrest-rs/releases{/id}",
+ "deployments_url": "https://api.github.com/repos/supabase/postgrest-rs/deployments",
+ "created_at": "2020-05-14T02:19:41Z",
+ "updated_at": "2020-06-23T09:29:03Z",
+ "pushed_at": "2020-06-10T14:01:27Z",
+ "git_url": "git://github.com/supabase/postgrest-rs.git",
+ "ssh_url": "git@github.com:supabase/postgrest-rs.git",
+ "clone_url": "https://github.com/supabase/postgrest-rs.git",
+ "svn_url": "https://github.com/supabase/postgrest-rs",
+ "homepage": "https://supabase.com",
+ "size": 49,
+ "stargazers_count": 28,
+ "watchers_count": 28,
+ "language": "Rust",
+ "has_issues": true,
+ "has_projects": true,
+ "has_downloads": true,
+ "has_wiki": true,
+ "has_pages": false,
+ "forks_count": 1,
+ "mirror_url": null,
+ "archived": false,
+ "disabled": false,
+ "open_issues_count": 1,
+ "license": {
+ "key": "other",
+ "name": "Other",
+ "spdx_id": "NOASSERTION",
+ "url": null,
+ "node_id": "MDc6TGljZW5zZTA="
+ },
+ "forks": 1,
+ "open_issues": 1,
+ "watchers": 28,
+ "default_branch": "master",
+ "temp_clone_token": null,
+ "organization": {
+ "login": "supabase",
+ "id": 54469796,
+ "node_id": "MDEyOk9yZ2FuaXphdGlvbjU0NDY5Nzk2",
+ "avatar_url": "https://avatars3.githubusercontent.com/u/54469796?v=4",
+ "gravatar_id": "",
+ "url": "https://api.github.com/users/supabase",
+ "html_url": "https://github.com/supabase",
+ "followers_url": "https://api.github.com/users/supabase/followers",
+ "following_url": "https://api.github.com/users/supabase/following{/other_user}",
+ "gists_url": "https://api.github.com/users/supabase/gists{/gist_id}",
+ "starred_url": "https://api.github.com/users/supabase/starred{/owner}{/repo}",
+ "subscriptions_url": "https://api.github.com/users/supabase/subscriptions",
+ "organizations_url": "https://api.github.com/users/supabase/orgs",
+ "repos_url": "https://api.github.com/users/supabase/repos",
+ "events_url": "https://api.github.com/users/supabase/events{/privacy}",
+ "received_events_url": "https://api.github.com/users/supabase/received_events",
+ "type": "Organization",
+ "site_admin": false
+ },
+ "network_count": 1,
+ "subscribers_count": 4
+}
diff --git a/apps/temp-docs/data/repos/realtime-js.json b/apps/temp-docs/data/repos/realtime-js.json
new file mode 100644
index 00000000000..a961160c4bc
--- /dev/null
+++ b/apps/temp-docs/data/repos/realtime-js.json
@@ -0,0 +1,123 @@
+{
+ "id": 264389263,
+ "node_id": "MDEwOlJlcG9zaXRvcnkyNjQzODkyNjM=",
+ "name": "realtime-js",
+ "full_name": "supabase/realtime-js",
+ "private": false,
+ "owner": {
+ "login": "supabase",
+ "id": 54469796,
+ "node_id": "MDEyOk9yZ2FuaXphdGlvbjU0NDY5Nzk2",
+ "avatar_url": "https://avatars3.githubusercontent.com/u/54469796?v=4",
+ "gravatar_id": "",
+ "url": "https://api.github.com/users/supabase",
+ "html_url": "https://github.com/supabase",
+ "followers_url": "https://api.github.com/users/supabase/followers",
+ "following_url": "https://api.github.com/users/supabase/following{/other_user}",
+ "gists_url": "https://api.github.com/users/supabase/gists{/gist_id}",
+ "starred_url": "https://api.github.com/users/supabase/starred{/owner}{/repo}",
+ "subscriptions_url": "https://api.github.com/users/supabase/subscriptions",
+ "organizations_url": "https://api.github.com/users/supabase/orgs",
+ "repos_url": "https://api.github.com/users/supabase/repos",
+ "events_url": "https://api.github.com/users/supabase/events{/privacy}",
+ "received_events_url": "https://api.github.com/users/supabase/received_events",
+ "type": "Organization",
+ "site_admin": false
+ },
+ "html_url": "https://github.com/supabase/realtime-js",
+ "description": null,
+ "fork": false,
+ "url": "https://api.github.com/repos/supabase/realtime-js",
+ "forks_url": "https://api.github.com/repos/supabase/realtime-js/forks",
+ "keys_url": "https://api.github.com/repos/supabase/realtime-js/keys{/key_id}",
+ "collaborators_url": "https://api.github.com/repos/supabase/realtime-js/collaborators{/collaborator}",
+ "teams_url": "https://api.github.com/repos/supabase/realtime-js/teams",
+ "hooks_url": "https://api.github.com/repos/supabase/realtime-js/hooks",
+ "issue_events_url": "https://api.github.com/repos/supabase/realtime-js/issues/events{/number}",
+ "events_url": "https://api.github.com/repos/supabase/realtime-js/events",
+ "assignees_url": "https://api.github.com/repos/supabase/realtime-js/assignees{/user}",
+ "branches_url": "https://api.github.com/repos/supabase/realtime-js/branches{/branch}",
+ "tags_url": "https://api.github.com/repos/supabase/realtime-js/tags",
+ "blobs_url": "https://api.github.com/repos/supabase/realtime-js/git/blobs{/sha}",
+ "git_tags_url": "https://api.github.com/repos/supabase/realtime-js/git/tags{/sha}",
+ "git_refs_url": "https://api.github.com/repos/supabase/realtime-js/git/refs{/sha}",
+ "trees_url": "https://api.github.com/repos/supabase/realtime-js/git/trees{/sha}",
+ "statuses_url": "https://api.github.com/repos/supabase/realtime-js/statuses/{sha}",
+ "languages_url": "https://api.github.com/repos/supabase/realtime-js/languages",
+ "stargazers_url": "https://api.github.com/repos/supabase/realtime-js/stargazers",
+ "contributors_url": "https://api.github.com/repos/supabase/realtime-js/contributors",
+ "subscribers_url": "https://api.github.com/repos/supabase/realtime-js/subscribers",
+ "subscription_url": "https://api.github.com/repos/supabase/realtime-js/subscription",
+ "commits_url": "https://api.github.com/repos/supabase/realtime-js/commits{/sha}",
+ "git_commits_url": "https://api.github.com/repos/supabase/realtime-js/git/commits{/sha}",
+ "comments_url": "https://api.github.com/repos/supabase/realtime-js/comments{/number}",
+ "issue_comment_url": "https://api.github.com/repos/supabase/realtime-js/issues/comments{/number}",
+ "contents_url": "https://api.github.com/repos/supabase/realtime-js/contents/{+path}",
+ "compare_url": "https://api.github.com/repos/supabase/realtime-js/compare/{base}...{head}",
+ "merges_url": "https://api.github.com/repos/supabase/realtime-js/merges",
+ "archive_url": "https://api.github.com/repos/supabase/realtime-js/{archive_format}{/ref}",
+ "downloads_url": "https://api.github.com/repos/supabase/realtime-js/downloads",
+ "issues_url": "https://api.github.com/repos/supabase/realtime-js/issues{/number}",
+ "pulls_url": "https://api.github.com/repos/supabase/realtime-js/pulls{/number}",
+ "milestones_url": "https://api.github.com/repos/supabase/realtime-js/milestones{/number}",
+ "notifications_url": "https://api.github.com/repos/supabase/realtime-js/notifications{?since,all,participating}",
+ "labels_url": "https://api.github.com/repos/supabase/realtime-js/labels{/name}",
+ "releases_url": "https://api.github.com/repos/supabase/realtime-js/releases{/id}",
+ "deployments_url": "https://api.github.com/repos/supabase/realtime-js/deployments",
+ "created_at": "2020-05-16T08:08:00Z",
+ "updated_at": "2020-06-23T08:51:03Z",
+ "pushed_at": "2020-06-23T08:51:04Z",
+ "git_url": "git://github.com/supabase/realtime-js.git",
+ "ssh_url": "git@github.com:supabase/realtime-js.git",
+ "clone_url": "https://github.com/supabase/realtime-js.git",
+ "svn_url": "https://github.com/supabase/realtime-js",
+ "homepage": null,
+ "size": 936,
+ "stargazers_count": 5,
+ "watchers_count": 5,
+ "language": "JavaScript",
+ "has_issues": true,
+ "has_projects": true,
+ "has_downloads": true,
+ "has_wiki": true,
+ "has_pages": false,
+ "forks_count": 1,
+ "mirror_url": null,
+ "archived": false,
+ "disabled": false,
+ "open_issues_count": 1,
+ "license": {
+ "key": "mit",
+ "name": "MIT License",
+ "spdx_id": "MIT",
+ "url": "https://api.github.com/licenses/mit",
+ "node_id": "MDc6TGljZW5zZTEz"
+ },
+ "forks": 1,
+ "open_issues": 1,
+ "watchers": 5,
+ "default_branch": "master",
+ "temp_clone_token": null,
+ "organization": {
+ "login": "supabase",
+ "id": 54469796,
+ "node_id": "MDEyOk9yZ2FuaXphdGlvbjU0NDY5Nzk2",
+ "avatar_url": "https://avatars3.githubusercontent.com/u/54469796?v=4",
+ "gravatar_id": "",
+ "url": "https://api.github.com/users/supabase",
+ "html_url": "https://github.com/supabase",
+ "followers_url": "https://api.github.com/users/supabase/followers",
+ "following_url": "https://api.github.com/users/supabase/following{/other_user}",
+ "gists_url": "https://api.github.com/users/supabase/gists{/gist_id}",
+ "starred_url": "https://api.github.com/users/supabase/starred{/owner}{/repo}",
+ "subscriptions_url": "https://api.github.com/users/supabase/subscriptions",
+ "organizations_url": "https://api.github.com/users/supabase/orgs",
+ "repos_url": "https://api.github.com/users/supabase/repos",
+ "events_url": "https://api.github.com/users/supabase/events{/privacy}",
+ "received_events_url": "https://api.github.com/users/supabase/received_events",
+ "type": "Organization",
+ "site_admin": false
+ },
+ "network_count": 1,
+ "subscribers_count": 2
+}
diff --git a/apps/temp-docs/data/repos/realtime.json b/apps/temp-docs/data/repos/realtime.json
new file mode 100644
index 00000000000..7b356105892
--- /dev/null
+++ b/apps/temp-docs/data/repos/realtime.json
@@ -0,0 +1,123 @@
+{
+ "id": 210347143,
+ "node_id": "MDEwOlJlcG9zaXRvcnkyMTAzNDcxNDM=",
+ "name": "realtime",
+ "full_name": "supabase/realtime",
+ "private": false,
+ "owner": {
+ "login": "supabase",
+ "id": 54469796,
+ "node_id": "MDEyOk9yZ2FuaXphdGlvbjU0NDY5Nzk2",
+ "avatar_url": "https://avatars3.githubusercontent.com/u/54469796?v=4",
+ "gravatar_id": "",
+ "url": "https://api.github.com/users/supabase",
+ "html_url": "https://github.com/supabase",
+ "followers_url": "https://api.github.com/users/supabase/followers",
+ "following_url": "https://api.github.com/users/supabase/following{/other_user}",
+ "gists_url": "https://api.github.com/users/supabase/gists{/gist_id}",
+ "starred_url": "https://api.github.com/users/supabase/starred{/owner}{/repo}",
+ "subscriptions_url": "https://api.github.com/users/supabase/subscriptions",
+ "organizations_url": "https://api.github.com/users/supabase/orgs",
+ "repos_url": "https://api.github.com/users/supabase/repos",
+ "events_url": "https://api.github.com/users/supabase/events{/privacy}",
+ "received_events_url": "https://api.github.com/users/supabase/received_events",
+ "type": "Organization",
+ "site_admin": false
+ },
+ "html_url": "https://github.com/supabase/realtime",
+ "description": "Listen to your to PostgreSQL database in realtime via websockets. Built with Elixir.",
+ "fork": false,
+ "url": "https://api.github.com/repos/supabase/realtime",
+ "forks_url": "https://api.github.com/repos/supabase/realtime/forks",
+ "keys_url": "https://api.github.com/repos/supabase/realtime/keys{/key_id}",
+ "collaborators_url": "https://api.github.com/repos/supabase/realtime/collaborators{/collaborator}",
+ "teams_url": "https://api.github.com/repos/supabase/realtime/teams",
+ "hooks_url": "https://api.github.com/repos/supabase/realtime/hooks",
+ "issue_events_url": "https://api.github.com/repos/supabase/realtime/issues/events{/number}",
+ "events_url": "https://api.github.com/repos/supabase/realtime/events",
+ "assignees_url": "https://api.github.com/repos/supabase/realtime/assignees{/user}",
+ "branches_url": "https://api.github.com/repos/supabase/realtime/branches{/branch}",
+ "tags_url": "https://api.github.com/repos/supabase/realtime/tags",
+ "blobs_url": "https://api.github.com/repos/supabase/realtime/git/blobs{/sha}",
+ "git_tags_url": "https://api.github.com/repos/supabase/realtime/git/tags{/sha}",
+ "git_refs_url": "https://api.github.com/repos/supabase/realtime/git/refs{/sha}",
+ "trees_url": "https://api.github.com/repos/supabase/realtime/git/trees{/sha}",
+ "statuses_url": "https://api.github.com/repos/supabase/realtime/statuses/{sha}",
+ "languages_url": "https://api.github.com/repos/supabase/realtime/languages",
+ "stargazers_url": "https://api.github.com/repos/supabase/realtime/stargazers",
+ "contributors_url": "https://api.github.com/repos/supabase/realtime/contributors",
+ "subscribers_url": "https://api.github.com/repos/supabase/realtime/subscribers",
+ "subscription_url": "https://api.github.com/repos/supabase/realtime/subscription",
+ "commits_url": "https://api.github.com/repos/supabase/realtime/commits{/sha}",
+ "git_commits_url": "https://api.github.com/repos/supabase/realtime/git/commits{/sha}",
+ "comments_url": "https://api.github.com/repos/supabase/realtime/comments{/number}",
+ "issue_comment_url": "https://api.github.com/repos/supabase/realtime/issues/comments{/number}",
+ "contents_url": "https://api.github.com/repos/supabase/realtime/contents/{+path}",
+ "compare_url": "https://api.github.com/repos/supabase/realtime/compare/{base}...{head}",
+ "merges_url": "https://api.github.com/repos/supabase/realtime/merges",
+ "archive_url": "https://api.github.com/repos/supabase/realtime/{archive_format}{/ref}",
+ "downloads_url": "https://api.github.com/repos/supabase/realtime/downloads",
+ "issues_url": "https://api.github.com/repos/supabase/realtime/issues{/number}",
+ "pulls_url": "https://api.github.com/repos/supabase/realtime/pulls{/number}",
+ "milestones_url": "https://api.github.com/repos/supabase/realtime/milestones{/number}",
+ "notifications_url": "https://api.github.com/repos/supabase/realtime/notifications{?since,all,participating}",
+ "labels_url": "https://api.github.com/repos/supabase/realtime/labels{/name}",
+ "releases_url": "https://api.github.com/repos/supabase/realtime/releases{/id}",
+ "deployments_url": "https://api.github.com/repos/supabase/realtime/deployments",
+ "created_at": "2019-09-23T12:15:45Z",
+ "updated_at": "2020-10-31T18:41:16Z",
+ "pushed_at": "2020-09-14T14:38:34Z",
+ "git_url": "git://github.com/supabase/realtime.git",
+ "ssh_url": "git@github.com:supabase/realtime.git",
+ "clone_url": "https://github.com/supabase/realtime.git",
+ "svn_url": "https://github.com/supabase/realtime",
+ "homepage": "https://supabase.com",
+ "size": 2322,
+ "stargazers_count": 1804,
+ "watchers_count": 1804,
+ "language": "Elixir",
+ "has_issues": true,
+ "has_projects": true,
+ "has_downloads": true,
+ "has_wiki": true,
+ "has_pages": false,
+ "forks_count": 75,
+ "mirror_url": null,
+ "archived": false,
+ "disabled": false,
+ "open_issues_count": 9,
+ "license": {
+ "key": "apache-2.0",
+ "name": "Apache License 2.0",
+ "spdx_id": "Apache-2.0",
+ "url": "https://api.github.com/licenses/apache-2.0",
+ "node_id": "MDc6TGljZW5zZTI="
+ },
+ "forks": 75,
+ "open_issues": 9,
+ "watchers": 1804,
+ "default_branch": "master",
+ "temp_clone_token": null,
+ "organization": {
+ "login": "supabase",
+ "id": 54469796,
+ "node_id": "MDEyOk9yZ2FuaXphdGlvbjU0NDY5Nzk2",
+ "avatar_url": "https://avatars3.githubusercontent.com/u/54469796?v=4",
+ "gravatar_id": "",
+ "url": "https://api.github.com/users/supabase",
+ "html_url": "https://github.com/supabase",
+ "followers_url": "https://api.github.com/users/supabase/followers",
+ "following_url": "https://api.github.com/users/supabase/following{/other_user}",
+ "gists_url": "https://api.github.com/users/supabase/gists{/gist_id}",
+ "starred_url": "https://api.github.com/users/supabase/starred{/owner}{/repo}",
+ "subscriptions_url": "https://api.github.com/users/supabase/subscriptions",
+ "organizations_url": "https://api.github.com/users/supabase/orgs",
+ "repos_url": "https://api.github.com/users/supabase/repos",
+ "events_url": "https://api.github.com/users/supabase/events{/privacy}",
+ "received_events_url": "https://api.github.com/users/supabase/received_events",
+ "type": "Organization",
+ "site_admin": false
+ },
+ "network_count": 75,
+ "subscribers_count": 53
+}
diff --git a/apps/temp-docs/data/repos/schemas.json b/apps/temp-docs/data/repos/schemas.json
new file mode 100644
index 00000000000..ad700b16090
--- /dev/null
+++ b/apps/temp-docs/data/repos/schemas.json
@@ -0,0 +1,5 @@
+{
+ "message": "Moved Permanently",
+ "url": "https://api.github.com/repositories/231560476",
+ "documentation_url": "https://developer.github.com/v3/#http-redirects"
+}
diff --git a/apps/temp-docs/data/repos/supabase-js.json b/apps/temp-docs/data/repos/supabase-js.json
new file mode 100644
index 00000000000..319b839f8d7
--- /dev/null
+++ b/apps/temp-docs/data/repos/supabase-js.json
@@ -0,0 +1,123 @@
+{
+ "id": 264192686,
+ "node_id": "MDEwOlJlcG9zaXRvcnkyNjQxOTI2ODY=",
+ "name": "supabase-js",
+ "full_name": "supabase/supabase-js",
+ "private": false,
+ "owner": {
+ "login": "supabase",
+ "id": 54469796,
+ "node_id": "MDEyOk9yZ2FuaXphdGlvbjU0NDY5Nzk2",
+ "avatar_url": "https://avatars3.githubusercontent.com/u/54469796?v=4",
+ "gravatar_id": "",
+ "url": "https://api.github.com/users/supabase",
+ "html_url": "https://github.com/supabase",
+ "followers_url": "https://api.github.com/users/supabase/followers",
+ "following_url": "https://api.github.com/users/supabase/following{/other_user}",
+ "gists_url": "https://api.github.com/users/supabase/gists{/gist_id}",
+ "starred_url": "https://api.github.com/users/supabase/starred{/owner}{/repo}",
+ "subscriptions_url": "https://api.github.com/users/supabase/subscriptions",
+ "organizations_url": "https://api.github.com/users/supabase/orgs",
+ "repos_url": "https://api.github.com/users/supabase/repos",
+ "events_url": "https://api.github.com/users/supabase/events{/privacy}",
+ "received_events_url": "https://api.github.com/users/supabase/received_events",
+ "type": "Organization",
+ "site_admin": false
+ },
+ "html_url": "https://github.com/supabase/supabase-js",
+ "description": null,
+ "fork": false,
+ "url": "https://api.github.com/repos/supabase/supabase-js",
+ "forks_url": "https://api.github.com/repos/supabase/supabase-js/forks",
+ "keys_url": "https://api.github.com/repos/supabase/supabase-js/keys{/key_id}",
+ "collaborators_url": "https://api.github.com/repos/supabase/supabase-js/collaborators{/collaborator}",
+ "teams_url": "https://api.github.com/repos/supabase/supabase-js/teams",
+ "hooks_url": "https://api.github.com/repos/supabase/supabase-js/hooks",
+ "issue_events_url": "https://api.github.com/repos/supabase/supabase-js/issues/events{/number}",
+ "events_url": "https://api.github.com/repos/supabase/supabase-js/events",
+ "assignees_url": "https://api.github.com/repos/supabase/supabase-js/assignees{/user}",
+ "branches_url": "https://api.github.com/repos/supabase/supabase-js/branches{/branch}",
+ "tags_url": "https://api.github.com/repos/supabase/supabase-js/tags",
+ "blobs_url": "https://api.github.com/repos/supabase/supabase-js/git/blobs{/sha}",
+ "git_tags_url": "https://api.github.com/repos/supabase/supabase-js/git/tags{/sha}",
+ "git_refs_url": "https://api.github.com/repos/supabase/supabase-js/git/refs{/sha}",
+ "trees_url": "https://api.github.com/repos/supabase/supabase-js/git/trees{/sha}",
+ "statuses_url": "https://api.github.com/repos/supabase/supabase-js/statuses/{sha}",
+ "languages_url": "https://api.github.com/repos/supabase/supabase-js/languages",
+ "stargazers_url": "https://api.github.com/repos/supabase/supabase-js/stargazers",
+ "contributors_url": "https://api.github.com/repos/supabase/supabase-js/contributors",
+ "subscribers_url": "https://api.github.com/repos/supabase/supabase-js/subscribers",
+ "subscription_url": "https://api.github.com/repos/supabase/supabase-js/subscription",
+ "commits_url": "https://api.github.com/repos/supabase/supabase-js/commits{/sha}",
+ "git_commits_url": "https://api.github.com/repos/supabase/supabase-js/git/commits{/sha}",
+ "comments_url": "https://api.github.com/repos/supabase/supabase-js/comments{/number}",
+ "issue_comment_url": "https://api.github.com/repos/supabase/supabase-js/issues/comments{/number}",
+ "contents_url": "https://api.github.com/repos/supabase/supabase-js/contents/{+path}",
+ "compare_url": "https://api.github.com/repos/supabase/supabase-js/compare/{base}...{head}",
+ "merges_url": "https://api.github.com/repos/supabase/supabase-js/merges",
+ "archive_url": "https://api.github.com/repos/supabase/supabase-js/{archive_format}{/ref}",
+ "downloads_url": "https://api.github.com/repos/supabase/supabase-js/downloads",
+ "issues_url": "https://api.github.com/repos/supabase/supabase-js/issues{/number}",
+ "pulls_url": "https://api.github.com/repos/supabase/supabase-js/pulls{/number}",
+ "milestones_url": "https://api.github.com/repos/supabase/supabase-js/milestones{/number}",
+ "notifications_url": "https://api.github.com/repos/supabase/supabase-js/notifications{?since,all,participating}",
+ "labels_url": "https://api.github.com/repos/supabase/supabase-js/labels{/name}",
+ "releases_url": "https://api.github.com/repos/supabase/supabase-js/releases{/id}",
+ "deployments_url": "https://api.github.com/repos/supabase/supabase-js/deployments",
+ "created_at": "2020-05-15T12:52:16Z",
+ "updated_at": "2020-06-11T08:30:37Z",
+ "pushed_at": "2020-06-12T14:52:51Z",
+ "git_url": "git://github.com/supabase/supabase-js.git",
+ "ssh_url": "git@github.com:supabase/supabase-js.git",
+ "clone_url": "https://github.com/supabase/supabase-js.git",
+ "svn_url": "https://github.com/supabase/supabase-js",
+ "homepage": null,
+ "size": 15,
+ "stargazers_count": 7,
+ "watchers_count": 7,
+ "language": "JavaScript",
+ "has_issues": true,
+ "has_projects": true,
+ "has_downloads": true,
+ "has_wiki": true,
+ "has_pages": false,
+ "forks_count": 1,
+ "mirror_url": null,
+ "archived": false,
+ "disabled": false,
+ "open_issues_count": 0,
+ "license": {
+ "key": "mit",
+ "name": "MIT License",
+ "spdx_id": "MIT",
+ "url": "https://api.github.com/licenses/mit",
+ "node_id": "MDc6TGljZW5zZTEz"
+ },
+ "forks": 1,
+ "open_issues": 0,
+ "watchers": 7,
+ "default_branch": "master",
+ "temp_clone_token": null,
+ "organization": {
+ "login": "supabase",
+ "id": 54469796,
+ "node_id": "MDEyOk9yZ2FuaXphdGlvbjU0NDY5Nzk2",
+ "avatar_url": "https://avatars3.githubusercontent.com/u/54469796?v=4",
+ "gravatar_id": "",
+ "url": "https://api.github.com/users/supabase",
+ "html_url": "https://github.com/supabase",
+ "followers_url": "https://api.github.com/users/supabase/followers",
+ "following_url": "https://api.github.com/users/supabase/following{/other_user}",
+ "gists_url": "https://api.github.com/users/supabase/gists{/gist_id}",
+ "starred_url": "https://api.github.com/users/supabase/starred{/owner}{/repo}",
+ "subscriptions_url": "https://api.github.com/users/supabase/subscriptions",
+ "organizations_url": "https://api.github.com/users/supabase/orgs",
+ "repos_url": "https://api.github.com/users/supabase/repos",
+ "events_url": "https://api.github.com/users/supabase/events{/privacy}",
+ "received_events_url": "https://api.github.com/users/supabase/received_events",
+ "type": "Organization",
+ "site_admin": false
+ },
+ "network_count": 1,
+ "subscribers_count": 0
+}
diff --git a/apps/temp-docs/data/repos/supabase.json b/apps/temp-docs/data/repos/supabase.json
new file mode 100644
index 00000000000..fed023886f7
--- /dev/null
+++ b/apps/temp-docs/data/repos/supabase.json
@@ -0,0 +1,123 @@
+{
+ "id": 214587193,
+ "node_id": "MDEwOlJlcG9zaXRvcnkyMTQ1ODcxOTM=",
+ "name": "supabase",
+ "full_name": "supabase/supabase",
+ "private": false,
+ "owner": {
+ "login": "supabase",
+ "id": 54469796,
+ "node_id": "MDEyOk9yZ2FuaXphdGlvbjU0NDY5Nzk2",
+ "avatar_url": "https://avatars3.githubusercontent.com/u/54469796?v=4",
+ "gravatar_id": "",
+ "url": "https://api.github.com/users/supabase",
+ "html_url": "https://github.com/supabase",
+ "followers_url": "https://api.github.com/users/supabase/followers",
+ "following_url": "https://api.github.com/users/supabase/following{/other_user}",
+ "gists_url": "https://api.github.com/users/supabase/gists{/gist_id}",
+ "starred_url": "https://api.github.com/users/supabase/starred{/owner}{/repo}",
+ "subscriptions_url": "https://api.github.com/users/supabase/subscriptions",
+ "organizations_url": "https://api.github.com/users/supabase/orgs",
+ "repos_url": "https://api.github.com/users/supabase/repos",
+ "events_url": "https://api.github.com/users/supabase/events{/privacy}",
+ "received_events_url": "https://api.github.com/users/supabase/received_events",
+ "type": "Organization",
+ "site_admin": false
+ },
+ "html_url": "https://github.com/supabase/supabase",
+ "description": "Website, docs, and client libraries. Follow to stay updated about our public Beta.",
+ "fork": false,
+ "url": "https://api.github.com/repos/supabase/supabase",
+ "forks_url": "https://api.github.com/repos/supabase/supabase/forks",
+ "keys_url": "https://api.github.com/repos/supabase/supabase/keys{/key_id}",
+ "collaborators_url": "https://api.github.com/repos/supabase/supabase/collaborators{/collaborator}",
+ "teams_url": "https://api.github.com/repos/supabase/supabase/teams",
+ "hooks_url": "https://api.github.com/repos/supabase/supabase/hooks",
+ "issue_events_url": "https://api.github.com/repos/supabase/supabase/issues/events{/number}",
+ "events_url": "https://api.github.com/repos/supabase/supabase/events",
+ "assignees_url": "https://api.github.com/repos/supabase/supabase/assignees{/user}",
+ "branches_url": "https://api.github.com/repos/supabase/supabase/branches{/branch}",
+ "tags_url": "https://api.github.com/repos/supabase/supabase/tags",
+ "blobs_url": "https://api.github.com/repos/supabase/supabase/git/blobs{/sha}",
+ "git_tags_url": "https://api.github.com/repos/supabase/supabase/git/tags{/sha}",
+ "git_refs_url": "https://api.github.com/repos/supabase/supabase/git/refs{/sha}",
+ "trees_url": "https://api.github.com/repos/supabase/supabase/git/trees{/sha}",
+ "statuses_url": "https://api.github.com/repos/supabase/supabase/statuses/{sha}",
+ "languages_url": "https://api.github.com/repos/supabase/supabase/languages",
+ "stargazers_url": "https://api.github.com/repos/supabase/supabase/stargazers",
+ "contributors_url": "https://api.github.com/repos/supabase/supabase/contributors",
+ "subscribers_url": "https://api.github.com/repos/supabase/supabase/subscribers",
+ "subscription_url": "https://api.github.com/repos/supabase/supabase/subscription",
+ "commits_url": "https://api.github.com/repos/supabase/supabase/commits{/sha}",
+ "git_commits_url": "https://api.github.com/repos/supabase/supabase/git/commits{/sha}",
+ "comments_url": "https://api.github.com/repos/supabase/supabase/comments{/number}",
+ "issue_comment_url": "https://api.github.com/repos/supabase/supabase/issues/comments{/number}",
+ "contents_url": "https://api.github.com/repos/supabase/supabase/contents/{+path}",
+ "compare_url": "https://api.github.com/repos/supabase/supabase/compare/{base}...{head}",
+ "merges_url": "https://api.github.com/repos/supabase/supabase/merges",
+ "archive_url": "https://api.github.com/repos/supabase/supabase/{archive_format}{/ref}",
+ "downloads_url": "https://api.github.com/repos/supabase/supabase/downloads",
+ "issues_url": "https://api.github.com/repos/supabase/supabase/issues{/number}",
+ "pulls_url": "https://api.github.com/repos/supabase/supabase/pulls{/number}",
+ "milestones_url": "https://api.github.com/repos/supabase/supabase/milestones{/number}",
+ "notifications_url": "https://api.github.com/repos/supabase/supabase/notifications{?since,all,participating}",
+ "labels_url": "https://api.github.com/repos/supabase/supabase/labels{/name}",
+ "releases_url": "https://api.github.com/repos/supabase/supabase/releases{/id}",
+ "deployments_url": "https://api.github.com/repos/supabase/supabase/deployments",
+ "created_at": "2019-10-12T05:56:49Z",
+ "updated_at": "2020-11-01T18:31:33Z",
+ "pushed_at": "2020-10-30T20:22:07Z",
+ "git_url": "git://github.com/supabase/supabase.git",
+ "ssh_url": "git@github.com:supabase/supabase.git",
+ "clone_url": "https://github.com/supabase/supabase.git",
+ "svn_url": "https://github.com/supabase/supabase",
+ "homepage": "https://supabase.com",
+ "size": 31094,
+ "stargazers_count": 2551,
+ "watchers_count": 2551,
+ "language": "JavaScript",
+ "has_issues": true,
+ "has_projects": true,
+ "has_downloads": true,
+ "has_wiki": true,
+ "has_pages": false,
+ "forks_count": 101,
+ "mirror_url": null,
+ "archived": false,
+ "disabled": false,
+ "open_issues_count": 30,
+ "license": {
+ "key": "apache-2.0",
+ "name": "Apache License 2.0",
+ "spdx_id": "Apache-2.0",
+ "url": "https://api.github.com/licenses/apache-2.0",
+ "node_id": "MDc6TGljZW5zZTI="
+ },
+ "forks": 101,
+ "open_issues": 30,
+ "watchers": 2551,
+ "default_branch": "master",
+ "temp_clone_token": null,
+ "organization": {
+ "login": "supabase",
+ "id": 54469796,
+ "node_id": "MDEyOk9yZ2FuaXphdGlvbjU0NDY5Nzk2",
+ "avatar_url": "https://avatars3.githubusercontent.com/u/54469796?v=4",
+ "gravatar_id": "",
+ "url": "https://api.github.com/users/supabase",
+ "html_url": "https://github.com/supabase",
+ "followers_url": "https://api.github.com/users/supabase/followers",
+ "following_url": "https://api.github.com/users/supabase/following{/other_user}",
+ "gists_url": "https://api.github.com/users/supabase/gists{/gist_id}",
+ "starred_url": "https://api.github.com/users/supabase/starred{/owner}{/repo}",
+ "subscriptions_url": "https://api.github.com/users/supabase/subscriptions",
+ "organizations_url": "https://api.github.com/users/supabase/orgs",
+ "repos_url": "https://api.github.com/users/supabase/repos",
+ "events_url": "https://api.github.com/users/supabase/events{/privacy}",
+ "received_events_url": "https://api.github.com/users/supabase/received_events",
+ "type": "Organization",
+ "site_admin": false
+ },
+ "network_count": 101,
+ "subscribers_count": 91
+}
diff --git a/apps/temp-docs/data/showcase.json b/apps/temp-docs/data/showcase.json
new file mode 100644
index 00000000000..fe51488c706
--- /dev/null
+++ b/apps/temp-docs/data/showcase.json
@@ -0,0 +1 @@
+[]
diff --git a/apps/temp-docs/data/sponsors.json b/apps/temp-docs/data/sponsors.json
new file mode 100644
index 00000000000..a456b2121d9
--- /dev/null
+++ b/apps/temp-docs/data/sponsors.json
@@ -0,0 +1,202 @@
+[
+ {
+ "tier": "$5 a month",
+ "sponsor": "sabberworm"
+ },
+ {
+ "tier": "$5 a month",
+ "sponsor": "calendee"
+ },
+ {
+ "tier": "$5 a month",
+ "sponsor": "kylewelsby"
+ },
+ {
+ "tier": "$5 a month",
+ "sponsor": "tinjaw"
+ },
+ {
+ "tier": "$5 a month",
+ "sponsor": "ricdex"
+ },
+ {
+ "tier": "$49 a month",
+ "sponsor": "Illyism"
+ },
+ {
+ "tier": "$5 a month",
+ "sponsor": "lexifdev"
+ },
+ {
+ "tier": "$5 a month",
+ "sponsor": "tacowaco"
+ },
+ {
+ "tier": "$5 a month",
+ "sponsor": "kachar"
+ },
+ {
+ "tier": "$19 a month",
+ "sponsor": "tpberntsen"
+ },
+ {
+ "tier": "$5 a month",
+ "sponsor": "zeluizr"
+ },
+ {
+ "tier": "$5 a month",
+ "sponsor": "AndersGerner"
+ },
+ {
+ "tier": "$5 a month",
+ "sponsor": "stopyellingatme"
+ },
+ {
+ "tier": "$19 a month",
+ "sponsor": "Marviel"
+ },
+ {
+ "tier": "$19 a month",
+ "sponsor": "bookofdom"
+ },
+ {
+ "tier": "$5 a month",
+ "sponsor": "juzhiyuan"
+ },
+ {
+ "tier": "$5 a month",
+ "sponsor": "gregaltuna"
+ },
+ {
+ "tier": "$5 a month",
+ "sponsor": "ctwhome"
+ },
+ {
+ "tier": "$5 a month",
+ "sponsor": "alienzz"
+ },
+ {
+ "tier": "$5 a month",
+ "sponsor": "zlwaterfield"
+ },
+ {
+ "tier": "$5 a month",
+ "sponsor": "Aaron-A"
+ },
+ {
+ "tier": "$5 a month",
+ "sponsor": "gabrielmip"
+ },
+ {
+ "tier": "$5 a month",
+ "sponsor": "glassmonkey"
+ },
+ {
+ "tier": "$5 a month",
+ "sponsor": "zoutiyx"
+ },
+ {
+ "tier": "$5 a month",
+ "sponsor": "adammoyle"
+ },
+ {
+ "tier": "$5 a month",
+ "sponsor": "EvonuX"
+ },
+ {
+ "tier": "$5 a month",
+ "sponsor": "KoreyPeters"
+ },
+ {
+ "tier": "$49 a month",
+ "sponsor": "ymmtshny"
+ },
+ {
+ "tier": "$19 a month",
+ "sponsor": "fefurst"
+ },
+ {
+ "tier": "$5 a month",
+ "sponsor": "sebastianbachmann"
+ },
+ {
+ "tier": "$5 a month",
+ "sponsor": "jvieirar"
+ },
+ {
+ "tier": "$19 a month",
+ "sponsor": "dshukertjr"
+ },
+ {
+ "tier": "$5 a month",
+ "sponsor": "CmplxStack"
+ },
+ {
+ "tier": "$19 a month",
+ "sponsor": "roblack"
+ },
+ {
+ "tier": "$5 a month",
+ "sponsor": "davilico05"
+ },
+ {
+ "tier": "$19 a month",
+ "sponsor": "Kunstderfug"
+ },
+ {
+ "tier": "$5 a month",
+ "sponsor": "hyochan"
+ },
+ {
+ "tier": "$5 a month",
+ "sponsor": "chunterb"
+ },
+ {
+ "tier": "$5 a month",
+ "sponsor": "madebyfabian"
+ },
+ {
+ "tier": "$5 a month",
+ "sponsor": "jwanner83"
+ },
+ {
+ "tier": "$5 a month",
+ "sponsor": "herbievine"
+ },
+ {
+ "tier": "$5 a month",
+ "sponsor": "Lucostus"
+ },
+ {
+ "tier": "$19 a month",
+ "sponsor": "peachp"
+ },
+ {
+ "tier": "$5 a month",
+ "sponsor": "killshot13"
+ },
+ {
+ "tier": "$19 a month",
+ "sponsor": "d-mok"
+ },
+ {
+ "tier": "$19 a month",
+ "sponsor": "lIIIIIIIIIIIIIIIIIIIII"
+ },
+ {
+ "tier": "$5 a month",
+ "sponsor": "yujong-lee"
+ },
+ {
+ "tier": "$5 a month",
+ "sponsor": "gregdenson"
+ },
+ {
+ "tier": "$5 a month",
+ "sponsor": "LeDragunov"
+ },
+ {
+ "tier": "$49 a month",
+ "sponsor": "CryptoJobsList"
+ }
+]
\ No newline at end of file
diff --git a/apps/temp-docs/data/stars/stargazers.json b/apps/temp-docs/data/stars/stargazers.json
new file mode 100644
index 00000000000..a9336259f17
--- /dev/null
+++ b/apps/temp-docs/data/stars/stargazers.json
@@ -0,0 +1,2562 @@
+[
+ {
+ "name": "2019-10-15",
+ "doctest-js": 0,
+ "jsdoc-template": 0,
+ "marketplace": 0,
+ "pg-api": 0,
+ "pg_listen": 0,
+ "postgres": 0,
+ "postgrest-js": 0,
+ "postgrest-py": 0,
+ "postgrest-rs": 0,
+ "realtime": 0,
+ "realtime-js": 0,
+ "supabase": 1,
+ "supabase-js": 0
+ },
+ {
+ "name": "2019-10-25",
+ "doctest-js": 0,
+ "jsdoc-template": 0,
+ "marketplace": 0,
+ "pg-api": 0,
+ "pg_listen": 0,
+ "postgres": 0,
+ "postgrest-js": 0,
+ "postgrest-py": 0,
+ "postgrest-rs": 0,
+ "realtime": 33,
+ "realtime-js": 0,
+ "supabase": 1,
+ "supabase-js": 0
+ },
+ {
+ "name": "2019-10-26",
+ "doctest-js": 0,
+ "jsdoc-template": 0,
+ "marketplace": 0,
+ "pg-api": 0,
+ "pg_listen": 0,
+ "postgres": 0,
+ "postgrest-js": 0,
+ "postgrest-py": 0,
+ "postgrest-rs": 0,
+ "realtime": 41,
+ "realtime-js": 0,
+ "supabase": 1,
+ "supabase-js": 0
+ },
+ {
+ "name": "2019-10-27",
+ "doctest-js": 0,
+ "jsdoc-template": 0,
+ "marketplace": 0,
+ "pg-api": 0,
+ "pg_listen": 0,
+ "postgres": 0,
+ "postgrest-js": 0,
+ "postgrest-py": 0,
+ "postgrest-rs": 0,
+ "realtime": 46,
+ "realtime-js": 0,
+ "supabase": 1,
+ "supabase-js": 0
+ },
+ {
+ "name": "2019-10-28",
+ "doctest-js": 0,
+ "jsdoc-template": 0,
+ "marketplace": 0,
+ "pg-api": 0,
+ "pg_listen": 0,
+ "postgres": 0,
+ "postgrest-js": 0,
+ "postgrest-py": 0,
+ "postgrest-rs": 0,
+ "realtime": 51,
+ "realtime-js": 0,
+ "supabase": 1,
+ "supabase-js": 0
+ },
+ {
+ "name": "2019-10-29",
+ "doctest-js": 0,
+ "jsdoc-template": 0,
+ "marketplace": 0,
+ "pg-api": 0,
+ "pg_listen": 0,
+ "postgres": 0,
+ "postgrest-js": 0,
+ "postgrest-py": 0,
+ "postgrest-rs": 0,
+ "realtime": 52,
+ "realtime-js": 0,
+ "supabase": 1,
+ "supabase-js": 0
+ },
+ {
+ "name": "2019-10-30",
+ "doctest-js": 0,
+ "jsdoc-template": 0,
+ "marketplace": 0,
+ "pg-api": 0,
+ "pg_listen": 0,
+ "postgres": 0,
+ "postgrest-js": 0,
+ "postgrest-py": 0,
+ "postgrest-rs": 0,
+ "realtime": 53,
+ "realtime-js": 0,
+ "supabase": 1,
+ "supabase-js": 0
+ },
+ {
+ "name": "2019-10-31",
+ "doctest-js": 0,
+ "jsdoc-template": 0,
+ "marketplace": 0,
+ "pg-api": 0,
+ "pg_listen": 0,
+ "postgres": 0,
+ "postgrest-js": 0,
+ "postgrest-py": 0,
+ "postgrest-rs": 0,
+ "realtime": 54,
+ "realtime-js": 0,
+ "supabase": 1,
+ "supabase-js": 0
+ },
+ {
+ "name": "2019-11-03",
+ "doctest-js": 0,
+ "jsdoc-template": 0,
+ "marketplace": 0,
+ "pg-api": 0,
+ "pg_listen": 0,
+ "postgres": 0,
+ "postgrest-js": 0,
+ "postgrest-py": 0,
+ "postgrest-rs": 0,
+ "realtime": 55,
+ "realtime-js": 0,
+ "supabase": 1,
+ "supabase-js": 0
+ },
+ {
+ "name": "2019-11-09",
+ "doctest-js": 0,
+ "jsdoc-template": 0,
+ "marketplace": 0,
+ "pg-api": 0,
+ "pg_listen": 0,
+ "postgres": 0,
+ "postgrest-js": 0,
+ "postgrest-py": 0,
+ "postgrest-rs": 0,
+ "realtime": 58,
+ "realtime-js": 0,
+ "supabase": 1,
+ "supabase-js": 0
+ },
+ {
+ "name": "2019-11-10",
+ "doctest-js": 0,
+ "jsdoc-template": 0,
+ "marketplace": 0,
+ "pg-api": 0,
+ "pg_listen": 0,
+ "postgres": 0,
+ "postgrest-js": 0,
+ "postgrest-py": 0,
+ "postgrest-rs": 0,
+ "realtime": 59,
+ "realtime-js": 0,
+ "supabase": 1,
+ "supabase-js": 0
+ },
+ {
+ "name": "2019-11-11",
+ "doctest-js": 0,
+ "jsdoc-template": 0,
+ "marketplace": 0,
+ "pg-api": 0,
+ "pg_listen": 0,
+ "postgres": 0,
+ "postgrest-js": 0,
+ "postgrest-py": 0,
+ "postgrest-rs": 0,
+ "realtime": 60,
+ "realtime-js": 0,
+ "supabase": 1,
+ "supabase-js": 0
+ },
+ {
+ "name": "2019-11-21",
+ "doctest-js": 0,
+ "jsdoc-template": 0,
+ "marketplace": 0,
+ "pg-api": 0,
+ "pg_listen": 0,
+ "postgres": 0,
+ "postgrest-js": 0,
+ "postgrest-py": 0,
+ "postgrest-rs": 0,
+ "realtime": 61,
+ "realtime-js": 0,
+ "supabase": 1,
+ "supabase-js": 0
+ },
+ {
+ "name": "2019-11-23",
+ "doctest-js": 0,
+ "jsdoc-template": 0,
+ "marketplace": 0,
+ "pg-api": 0,
+ "pg_listen": 0,
+ "postgres": 0,
+ "postgrest-js": 0,
+ "postgrest-py": 0,
+ "postgrest-rs": 0,
+ "realtime": 62,
+ "realtime-js": 0,
+ "supabase": 1,
+ "supabase-js": 0
+ },
+ {
+ "name": "2019-12-10",
+ "doctest-js": 0,
+ "jsdoc-template": 0,
+ "marketplace": 0,
+ "pg-api": 0,
+ "pg_listen": 0,
+ "postgres": 0,
+ "postgrest-js": 0,
+ "postgrest-py": 0,
+ "postgrest-rs": 0,
+ "realtime": 63,
+ "realtime-js": 0,
+ "supabase": 1,
+ "supabase-js": 0
+ },
+ {
+ "name": "2019-12-13",
+ "doctest-js": 0,
+ "jsdoc-template": 0,
+ "marketplace": 0,
+ "pg-api": 0,
+ "pg_listen": 0,
+ "postgres": 0,
+ "postgrest-js": 0,
+ "postgrest-py": 0,
+ "postgrest-rs": 0,
+ "realtime": 64,
+ "realtime-js": 0,
+ "supabase": 1,
+ "supabase-js": 0
+ },
+ {
+ "name": "2019-12-17",
+ "doctest-js": 0,
+ "jsdoc-template": 0,
+ "marketplace": 0,
+ "pg-api": 0,
+ "pg_listen": 0,
+ "postgres": 0,
+ "postgrest-js": 0,
+ "postgrest-py": 0,
+ "postgrest-rs": 0,
+ "realtime": 157,
+ "realtime-js": 0,
+ "supabase": 1,
+ "supabase-js": 0
+ },
+ {
+ "name": "2019-12-18",
+ "doctest-js": 0,
+ "jsdoc-template": 0,
+ "marketplace": 0,
+ "pg-api": 0,
+ "pg_listen": 0,
+ "postgres": 0,
+ "postgrest-js": 0,
+ "postgrest-py": 0,
+ "postgrest-rs": 0,
+ "realtime": 171,
+ "realtime-js": 0,
+ "supabase": 1,
+ "supabase-js": 0
+ },
+ {
+ "name": "2019-12-19",
+ "doctest-js": 0,
+ "jsdoc-template": 0,
+ "marketplace": 0,
+ "pg-api": 0,
+ "pg_listen": 0,
+ "postgres": 0,
+ "postgrest-js": 0,
+ "postgrest-py": 0,
+ "postgrest-rs": 0,
+ "realtime": 174,
+ "realtime-js": 0,
+ "supabase": 1,
+ "supabase-js": 0
+ },
+ {
+ "name": "2019-12-20",
+ "doctest-js": 0,
+ "jsdoc-template": 0,
+ "marketplace": 0,
+ "pg-api": 0,
+ "pg_listen": 0,
+ "postgres": 0,
+ "postgrest-js": 0,
+ "postgrest-py": 0,
+ "postgrest-rs": 0,
+ "realtime": 177,
+ "realtime-js": 0,
+ "supabase": 1,
+ "supabase-js": 0
+ },
+ {
+ "name": "2019-12-21",
+ "doctest-js": 0,
+ "jsdoc-template": 0,
+ "marketplace": 0,
+ "pg-api": 0,
+ "pg_listen": 0,
+ "postgres": 0,
+ "postgrest-js": 0,
+ "postgrest-py": 0,
+ "postgrest-rs": 0,
+ "realtime": 179,
+ "realtime-js": 0,
+ "supabase": 1,
+ "supabase-js": 0
+ },
+ {
+ "name": "2019-12-23",
+ "doctest-js": 0,
+ "jsdoc-template": 0,
+ "marketplace": 0,
+ "pg-api": 0,
+ "pg_listen": 0,
+ "postgres": 0,
+ "postgrest-js": 0,
+ "postgrest-py": 0,
+ "postgrest-rs": 0,
+ "realtime": 180,
+ "realtime-js": 0,
+ "supabase": 1,
+ "supabase-js": 0
+ },
+ {
+ "name": "2019-12-29",
+ "doctest-js": 0,
+ "jsdoc-template": 0,
+ "marketplace": 0,
+ "pg-api": 0,
+ "pg_listen": 0,
+ "postgres": 0,
+ "postgrest-js": 0,
+ "postgrest-py": 0,
+ "postgrest-rs": 0,
+ "realtime": 181,
+ "realtime-js": 0,
+ "supabase": 1,
+ "supabase-js": 0
+ },
+ {
+ "name": "2020-01-07",
+ "doctest-js": 0,
+ "jsdoc-template": 0,
+ "marketplace": 0,
+ "pg-api": 0,
+ "pg_listen": 0,
+ "postgres": 0,
+ "postgrest-js": 0,
+ "postgrest-py": 0,
+ "postgrest-rs": 0,
+ "realtime": 182,
+ "realtime-js": 0,
+ "supabase": 1,
+ "supabase-js": 0
+ },
+ {
+ "name": "2020-01-11",
+ "doctest-js": 0,
+ "jsdoc-template": 0,
+ "marketplace": 0,
+ "pg-api": 0,
+ "pg_listen": 0,
+ "postgres": 0,
+ "postgrest-js": 0,
+ "postgrest-py": 0,
+ "postgrest-rs": 0,
+ "realtime": 183,
+ "realtime-js": 0,
+ "supabase": 1,
+ "supabase-js": 0
+ },
+ {
+ "name": "2020-01-14",
+ "doctest-js": 0,
+ "jsdoc-template": 0,
+ "marketplace": 0,
+ "pg-api": 0,
+ "pg_listen": 0,
+ "postgres": 0,
+ "postgrest-js": 0,
+ "postgrest-py": 0,
+ "postgrest-rs": 0,
+ "realtime": 184,
+ "realtime-js": 0,
+ "supabase": 1,
+ "supabase-js": 0
+ },
+ {
+ "name": "2020-01-15",
+ "doctest-js": 0,
+ "jsdoc-template": 0,
+ "marketplace": 0,
+ "pg-api": 0,
+ "pg_listen": 0,
+ "postgres": 0,
+ "postgrest-js": 0,
+ "postgrest-py": 0,
+ "postgrest-rs": 0,
+ "realtime": 184,
+ "realtime-js": 0,
+ "supabase": 2,
+ "supabase-js": 0
+ },
+ {
+ "name": "2020-01-16",
+ "doctest-js": 0,
+ "jsdoc-template": 0,
+ "marketplace": 2,
+ "pg-api": 0,
+ "pg_listen": 0,
+ "postgres": 0,
+ "postgrest-js": 0,
+ "postgrest-py": 0,
+ "postgrest-rs": 0,
+ "realtime": 193,
+ "realtime-js": 0,
+ "supabase": 16,
+ "supabase-js": 0
+ },
+ {
+ "name": "2020-01-17",
+ "doctest-js": 0,
+ "jsdoc-template": 0,
+ "marketplace": 2,
+ "pg-api": 0,
+ "pg_listen": 0,
+ "postgres": 0,
+ "postgrest-js": 0,
+ "postgrest-py": 0,
+ "postgrest-rs": 0,
+ "realtime": 194,
+ "realtime-js": 0,
+ "supabase": 17,
+ "supabase-js": 0
+ },
+ {
+ "name": "2020-01-18",
+ "doctest-js": 0,
+ "jsdoc-template": 0,
+ "marketplace": 2,
+ "pg-api": 0,
+ "pg_listen": 0,
+ "postgres": 0,
+ "postgrest-js": 0,
+ "postgrest-py": 0,
+ "postgrest-rs": 0,
+ "realtime": 195,
+ "realtime-js": 0,
+ "supabase": 19,
+ "supabase-js": 0
+ },
+ {
+ "name": "2020-01-19",
+ "doctest-js": 0,
+ "jsdoc-template": 0,
+ "marketplace": 2,
+ "pg-api": 0,
+ "pg_listen": 0,
+ "postgres": 0,
+ "postgrest-js": 0,
+ "postgrest-py": 0,
+ "postgrest-rs": 0,
+ "realtime": 195,
+ "realtime-js": 0,
+ "supabase": 20,
+ "supabase-js": 0
+ },
+ {
+ "name": "2020-01-20",
+ "doctest-js": 0,
+ "jsdoc-template": 0,
+ "marketplace": 2,
+ "pg-api": 0,
+ "pg_listen": 0,
+ "postgres": 0,
+ "postgrest-js": 0,
+ "postgrest-py": 0,
+ "postgrest-rs": 0,
+ "realtime": 196,
+ "realtime-js": 0,
+ "supabase": 21,
+ "supabase-js": 0
+ },
+ {
+ "name": "2020-01-21",
+ "doctest-js": 0,
+ "jsdoc-template": 0,
+ "marketplace": 2,
+ "pg-api": 0,
+ "pg_listen": 0,
+ "postgres": 0,
+ "postgrest-js": 0,
+ "postgrest-py": 0,
+ "postgrest-rs": 0,
+ "realtime": 201,
+ "realtime-js": 0,
+ "supabase": 28,
+ "supabase-js": 0
+ },
+ {
+ "name": "2020-01-22",
+ "doctest-js": 0,
+ "jsdoc-template": 0,
+ "marketplace": 2,
+ "pg-api": 0,
+ "pg_listen": 0,
+ "postgres": 0,
+ "postgrest-js": 0,
+ "postgrest-py": 0,
+ "postgrest-rs": 0,
+ "realtime": 272,
+ "realtime-js": 0,
+ "supabase": 45,
+ "supabase-js": 0
+ },
+ {
+ "name": "2020-01-23",
+ "doctest-js": 0,
+ "jsdoc-template": 0,
+ "marketplace": 4,
+ "pg-api": 0,
+ "pg_listen": 0,
+ "postgres": 0,
+ "postgrest-js": 0,
+ "postgrest-py": 0,
+ "postgrest-rs": 0,
+ "realtime": 301,
+ "realtime-js": 0,
+ "supabase": 55,
+ "supabase-js": 0
+ },
+ {
+ "name": "2020-01-24",
+ "doctest-js": 0,
+ "jsdoc-template": 0,
+ "marketplace": 4,
+ "pg-api": 0,
+ "pg_listen": 0,
+ "postgres": 0,
+ "postgrest-js": 0,
+ "postgrest-py": 0,
+ "postgrest-rs": 0,
+ "realtime": 321,
+ "realtime-js": 0,
+ "supabase": 57,
+ "supabase-js": 0
+ },
+ {
+ "name": "2020-01-25",
+ "doctest-js": 0,
+ "jsdoc-template": 0,
+ "marketplace": 4,
+ "pg-api": 0,
+ "pg_listen": 0,
+ "postgres": 0,
+ "postgrest-js": 0,
+ "postgrest-py": 0,
+ "postgrest-rs": 0,
+ "realtime": 325,
+ "realtime-js": 0,
+ "supabase": 59,
+ "supabase-js": 0
+ },
+ {
+ "name": "2020-01-26",
+ "doctest-js": 0,
+ "jsdoc-template": 0,
+ "marketplace": 4,
+ "pg-api": 0,
+ "pg_listen": 0,
+ "postgres": 0,
+ "postgrest-js": 0,
+ "postgrest-py": 0,
+ "postgrest-rs": 0,
+ "realtime": 328,
+ "realtime-js": 0,
+ "supabase": 59,
+ "supabase-js": 0
+ },
+ {
+ "name": "2020-01-27",
+ "doctest-js": 0,
+ "jsdoc-template": 0,
+ "marketplace": 5,
+ "pg-api": 0,
+ "pg_listen": 0,
+ "postgres": 0,
+ "postgrest-js": 0,
+ "postgrest-py": 0,
+ "postgrest-rs": 0,
+ "realtime": 331,
+ "realtime-js": 0,
+ "supabase": 60,
+ "supabase-js": 0
+ },
+ {
+ "name": "2020-01-28",
+ "doctest-js": 0,
+ "jsdoc-template": 0,
+ "marketplace": 5,
+ "pg-api": 0,
+ "pg_listen": 0,
+ "postgres": 0,
+ "postgrest-js": 0,
+ "postgrest-py": 0,
+ "postgrest-rs": 0,
+ "realtime": 334,
+ "realtime-js": 0,
+ "supabase": 62,
+ "supabase-js": 0
+ },
+ {
+ "name": "2020-01-29",
+ "doctest-js": 0,
+ "jsdoc-template": 0,
+ "marketplace": 5,
+ "pg-api": 0,
+ "pg_listen": 0,
+ "postgres": 0,
+ "postgrest-js": 1,
+ "postgrest-py": 0,
+ "postgrest-rs": 0,
+ "realtime": 342,
+ "realtime-js": 0,
+ "supabase": 62,
+ "supabase-js": 0
+ },
+ {
+ "name": "2020-01-30",
+ "doctest-js": 0,
+ "jsdoc-template": 0,
+ "marketplace": 5,
+ "pg-api": 0,
+ "pg_listen": 0,
+ "postgres": 0,
+ "postgrest-js": 2,
+ "postgrest-py": 0,
+ "postgrest-rs": 0,
+ "realtime": 346,
+ "realtime-js": 0,
+ "supabase": 63,
+ "supabase-js": 0
+ },
+ {
+ "name": "2020-01-31",
+ "doctest-js": 0,
+ "jsdoc-template": 0,
+ "marketplace": 5,
+ "pg-api": 0,
+ "pg_listen": 0,
+ "postgres": 0,
+ "postgrest-js": 2,
+ "postgrest-py": 0,
+ "postgrest-rs": 0,
+ "realtime": 350,
+ "realtime-js": 0,
+ "supabase": 65,
+ "supabase-js": 0
+ },
+ {
+ "name": "2020-02-01",
+ "doctest-js": 0,
+ "jsdoc-template": 0,
+ "marketplace": 5,
+ "pg-api": 0,
+ "pg_listen": 0,
+ "postgres": 0,
+ "postgrest-js": 2,
+ "postgrest-py": 0,
+ "postgrest-rs": 0,
+ "realtime": 351,
+ "realtime-js": 0,
+ "supabase": 67,
+ "supabase-js": 0
+ },
+ {
+ "name": "2020-02-02",
+ "doctest-js": 0,
+ "jsdoc-template": 0,
+ "marketplace": 6,
+ "pg-api": 0,
+ "pg_listen": 0,
+ "postgres": 0,
+ "postgrest-js": 7,
+ "postgrest-py": 0,
+ "postgrest-rs": 0,
+ "realtime": 353,
+ "realtime-js": 0,
+ "supabase": 70,
+ "supabase-js": 0
+ },
+ {
+ "name": "2020-02-03",
+ "doctest-js": 0,
+ "jsdoc-template": 0,
+ "marketplace": 6,
+ "pg-api": 0,
+ "pg_listen": 0,
+ "postgres": 0,
+ "postgrest-js": 19,
+ "postgrest-py": 0,
+ "postgrest-rs": 0,
+ "realtime": 354,
+ "realtime-js": 0,
+ "supabase": 72,
+ "supabase-js": 0
+ },
+ {
+ "name": "2020-02-04",
+ "doctest-js": 0,
+ "jsdoc-template": 0,
+ "marketplace": 6,
+ "pg-api": 0,
+ "pg_listen": 0,
+ "postgres": 0,
+ "postgrest-js": 22,
+ "postgrest-py": 0,
+ "postgrest-rs": 0,
+ "realtime": 354,
+ "realtime-js": 0,
+ "supabase": 72,
+ "supabase-js": 0
+ },
+ {
+ "name": "2020-02-05",
+ "doctest-js": 1,
+ "jsdoc-template": 1,
+ "marketplace": 6,
+ "pg-api": 0,
+ "pg_listen": 0,
+ "postgres": 0,
+ "postgrest-js": 24,
+ "postgrest-py": 0,
+ "postgrest-rs": 0,
+ "realtime": 354,
+ "realtime-js": 0,
+ "supabase": 73,
+ "supabase-js": 0
+ },
+ {
+ "name": "2020-02-10",
+ "doctest-js": 1,
+ "jsdoc-template": 1,
+ "marketplace": 6,
+ "pg-api": 0,
+ "pg_listen": 0,
+ "postgres": 0,
+ "postgrest-js": 25,
+ "postgrest-py": 0,
+ "postgrest-rs": 0,
+ "realtime": 354,
+ "realtime-js": 0,
+ "supabase": 73,
+ "supabase-js": 0
+ },
+ {
+ "name": "2020-02-11",
+ "doctest-js": 1,
+ "jsdoc-template": 1,
+ "marketplace": 6,
+ "pg-api": 0,
+ "pg_listen": 0,
+ "postgres": 0,
+ "postgrest-js": 25,
+ "postgrest-py": 0,
+ "postgrest-rs": 0,
+ "realtime": 355,
+ "realtime-js": 0,
+ "supabase": 73,
+ "supabase-js": 0
+ },
+ {
+ "name": "2020-02-14",
+ "doctest-js": 1,
+ "jsdoc-template": 1,
+ "marketplace": 6,
+ "pg-api": 0,
+ "pg_listen": 0,
+ "postgres": 0,
+ "postgrest-js": 25,
+ "postgrest-py": 0,
+ "postgrest-rs": 0,
+ "realtime": 356,
+ "realtime-js": 0,
+ "supabase": 73,
+ "supabase-js": 0
+ },
+ {
+ "name": "2020-02-16",
+ "doctest-js": 1,
+ "jsdoc-template": 1,
+ "marketplace": 6,
+ "pg-api": 0,
+ "pg_listen": 0,
+ "postgres": 0,
+ "postgrest-js": 25,
+ "postgrest-py": 0,
+ "postgrest-rs": 0,
+ "realtime": 357,
+ "realtime-js": 0,
+ "supabase": 73,
+ "supabase-js": 0
+ },
+ {
+ "name": "2020-02-19",
+ "doctest-js": 1,
+ "jsdoc-template": 1,
+ "marketplace": 6,
+ "pg-api": 0,
+ "pg_listen": 0,
+ "postgres": 0,
+ "postgrest-js": 25,
+ "postgrest-py": 0,
+ "postgrest-rs": 0,
+ "realtime": 364,
+ "realtime-js": 0,
+ "supabase": 73,
+ "supabase-js": 0
+ },
+ {
+ "name": "2020-02-20",
+ "doctest-js": 1,
+ "jsdoc-template": 1,
+ "marketplace": 6,
+ "pg-api": 0,
+ "pg_listen": 0,
+ "postgres": 0,
+ "postgrest-js": 25,
+ "postgrest-py": 0,
+ "postgrest-rs": 0,
+ "realtime": 365,
+ "realtime-js": 0,
+ "supabase": 73,
+ "supabase-js": 0
+ },
+ {
+ "name": "2020-02-21",
+ "doctest-js": 1,
+ "jsdoc-template": 1,
+ "marketplace": 6,
+ "pg-api": 0,
+ "pg_listen": 0,
+ "postgres": 0,
+ "postgrest-js": 25,
+ "postgrest-py": 0,
+ "postgrest-rs": 0,
+ "realtime": 366,
+ "realtime-js": 0,
+ "supabase": 73,
+ "supabase-js": 0
+ },
+ {
+ "name": "2020-02-22",
+ "doctest-js": 3,
+ "jsdoc-template": 1,
+ "marketplace": 6,
+ "pg-api": 0,
+ "pg_listen": 0,
+ "postgres": 0,
+ "postgrest-js": 25,
+ "postgrest-py": 0,
+ "postgrest-rs": 0,
+ "realtime": 366,
+ "realtime-js": 0,
+ "supabase": 73,
+ "supabase-js": 0
+ },
+ {
+ "name": "2020-02-23",
+ "doctest-js": 10,
+ "jsdoc-template": 1,
+ "marketplace": 6,
+ "pg-api": 0,
+ "pg_listen": 0,
+ "postgres": 0,
+ "postgrest-js": 25,
+ "postgrest-py": 0,
+ "postgrest-rs": 0,
+ "realtime": 367,
+ "realtime-js": 0,
+ "supabase": 73,
+ "supabase-js": 0
+ },
+ {
+ "name": "2020-02-24",
+ "doctest-js": 12,
+ "jsdoc-template": 1,
+ "marketplace": 6,
+ "pg-api": 0,
+ "pg_listen": 0,
+ "postgres": 0,
+ "postgrest-js": 25,
+ "postgrest-py": 0,
+ "postgrest-rs": 0,
+ "realtime": 368,
+ "realtime-js": 0,
+ "supabase": 74,
+ "supabase-js": 0
+ },
+ {
+ "name": "2020-02-25",
+ "doctest-js": 15,
+ "jsdoc-template": 1,
+ "marketplace": 6,
+ "pg-api": 0,
+ "pg_listen": 0,
+ "postgres": 0,
+ "postgrest-js": 25,
+ "postgrest-py": 0,
+ "postgrest-rs": 0,
+ "realtime": 369,
+ "realtime-js": 0,
+ "supabase": 74,
+ "supabase-js": 0
+ },
+ {
+ "name": "2020-02-26",
+ "doctest-js": 18,
+ "jsdoc-template": 1,
+ "marketplace": 6,
+ "pg-api": 0,
+ "pg_listen": 0,
+ "postgres": 0,
+ "postgrest-js": 25,
+ "postgrest-py": 0,
+ "postgrest-rs": 0,
+ "realtime": 370,
+ "realtime-js": 0,
+ "supabase": 75,
+ "supabase-js": 0
+ },
+ {
+ "name": "2020-02-27",
+ "doctest-js": 18,
+ "jsdoc-template": 1,
+ "marketplace": 6,
+ "pg-api": 0,
+ "pg_listen": 0,
+ "postgres": 0,
+ "postgrest-js": 25,
+ "postgrest-py": 0,
+ "postgrest-rs": 0,
+ "realtime": 371,
+ "realtime-js": 0,
+ "supabase": 75,
+ "supabase-js": 0
+ },
+ {
+ "name": "2020-02-28",
+ "doctest-js": 19,
+ "jsdoc-template": 1,
+ "marketplace": 6,
+ "pg-api": 0,
+ "pg_listen": 0,
+ "postgres": 0,
+ "postgrest-js": 25,
+ "postgrest-py": 0,
+ "postgrest-rs": 0,
+ "realtime": 371,
+ "realtime-js": 0,
+ "supabase": 75,
+ "supabase-js": 0
+ },
+ {
+ "name": "2020-02-29",
+ "doctest-js": 19,
+ "jsdoc-template": 1,
+ "marketplace": 6,
+ "pg-api": 0,
+ "pg_listen": 0,
+ "postgres": 0,
+ "postgrest-js": 25,
+ "postgrest-py": 0,
+ "postgrest-rs": 0,
+ "realtime": 371,
+ "realtime-js": 0,
+ "supabase": 76,
+ "supabase-js": 0
+ },
+ {
+ "name": "2020-03-02",
+ "doctest-js": 19,
+ "jsdoc-template": 1,
+ "marketplace": 6,
+ "pg-api": 0,
+ "pg_listen": 0,
+ "postgres": 0,
+ "postgrest-js": 26,
+ "postgrest-py": 0,
+ "postgrest-rs": 0,
+ "realtime": 372,
+ "realtime-js": 0,
+ "supabase": 76,
+ "supabase-js": 0
+ },
+ {
+ "name": "2020-03-06",
+ "doctest-js": 19,
+ "jsdoc-template": 1,
+ "marketplace": 6,
+ "pg-api": 0,
+ "pg_listen": 0,
+ "postgres": 0,
+ "postgrest-js": 26,
+ "postgrest-py": 0,
+ "postgrest-rs": 0,
+ "realtime": 373,
+ "realtime-js": 0,
+ "supabase": 77,
+ "supabase-js": 0
+ },
+ {
+ "name": "2020-03-07",
+ "doctest-js": 19,
+ "jsdoc-template": 1,
+ "marketplace": 6,
+ "pg-api": 0,
+ "pg_listen": 0,
+ "postgres": 0,
+ "postgrest-js": 26,
+ "postgrest-py": 0,
+ "postgrest-rs": 0,
+ "realtime": 374,
+ "realtime-js": 0,
+ "supabase": 77,
+ "supabase-js": 0
+ },
+ {
+ "name": "2020-03-08",
+ "doctest-js": 20,
+ "jsdoc-template": 1,
+ "marketplace": 6,
+ "pg-api": 0,
+ "pg_listen": 0,
+ "postgres": 0,
+ "postgrest-js": 26,
+ "postgrest-py": 0,
+ "postgrest-rs": 0,
+ "realtime": 374,
+ "realtime-js": 0,
+ "supabase": 77,
+ "supabase-js": 0
+ },
+ {
+ "name": "2020-03-09",
+ "doctest-js": 21,
+ "jsdoc-template": 1,
+ "marketplace": 6,
+ "pg-api": 0,
+ "pg_listen": 0,
+ "postgres": 0,
+ "postgrest-js": 26,
+ "postgrest-py": 0,
+ "postgrest-rs": 0,
+ "realtime": 374,
+ "realtime-js": 0,
+ "supabase": 78,
+ "supabase-js": 0
+ },
+ {
+ "name": "2020-03-10",
+ "doctest-js": 21,
+ "jsdoc-template": 1,
+ "marketplace": 6,
+ "pg-api": 0,
+ "pg_listen": 0,
+ "postgres": 0,
+ "postgrest-js": 26,
+ "postgrest-py": 0,
+ "postgrest-rs": 0,
+ "realtime": 375,
+ "realtime-js": 0,
+ "supabase": 78,
+ "supabase-js": 0
+ },
+ {
+ "name": "2020-03-11",
+ "doctest-js": 21,
+ "jsdoc-template": 1,
+ "marketplace": 6,
+ "pg-api": 0,
+ "pg_listen": 0,
+ "postgres": 0,
+ "postgrest-js": 26,
+ "postgrest-py": 0,
+ "postgrest-rs": 0,
+ "realtime": 376,
+ "realtime-js": 0,
+ "supabase": 80,
+ "supabase-js": 0
+ },
+ {
+ "name": "2020-03-12",
+ "doctest-js": 21,
+ "jsdoc-template": 1,
+ "marketplace": 6,
+ "pg-api": 0,
+ "pg_listen": 0,
+ "postgres": 0,
+ "postgrest-js": 26,
+ "postgrest-py": 0,
+ "postgrest-rs": 0,
+ "realtime": 376,
+ "realtime-js": 0,
+ "supabase": 81,
+ "supabase-js": 0
+ },
+ {
+ "name": "2020-03-13",
+ "doctest-js": 21,
+ "jsdoc-template": 1,
+ "marketplace": 6,
+ "pg-api": 0,
+ "pg_listen": 0,
+ "postgres": 0,
+ "postgrest-js": 27,
+ "postgrest-py": 0,
+ "postgrest-rs": 0,
+ "realtime": 376,
+ "realtime-js": 0,
+ "supabase": 81,
+ "supabase-js": 0
+ },
+ {
+ "name": "2020-03-14",
+ "doctest-js": 22,
+ "jsdoc-template": 1,
+ "marketplace": 6,
+ "pg-api": 0,
+ "pg_listen": 0,
+ "postgres": 0,
+ "postgrest-js": 27,
+ "postgrest-py": 0,
+ "postgrest-rs": 0,
+ "realtime": 377,
+ "realtime-js": 0,
+ "supabase": 81,
+ "supabase-js": 0
+ },
+ {
+ "name": "2020-03-15",
+ "doctest-js": 23,
+ "jsdoc-template": 1,
+ "marketplace": 6,
+ "pg-api": 0,
+ "pg_listen": 0,
+ "postgres": 0,
+ "postgrest-js": 27,
+ "postgrest-py": 0,
+ "postgrest-rs": 0,
+ "realtime": 377,
+ "realtime-js": 0,
+ "supabase": 81,
+ "supabase-js": 0
+ },
+ {
+ "name": "2020-03-19",
+ "doctest-js": 23,
+ "jsdoc-template": 1,
+ "marketplace": 6,
+ "pg-api": 0,
+ "pg_listen": 0,
+ "postgres": 0,
+ "postgrest-js": 27,
+ "postgrest-py": 0,
+ "postgrest-rs": 0,
+ "realtime": 379,
+ "realtime-js": 0,
+ "supabase": 82,
+ "supabase-js": 0
+ },
+ {
+ "name": "2020-03-21",
+ "doctest-js": 23,
+ "jsdoc-template": 1,
+ "marketplace": 6,
+ "pg-api": 0,
+ "pg_listen": 0,
+ "postgres": 0,
+ "postgrest-js": 27,
+ "postgrest-py": 0,
+ "postgrest-rs": 0,
+ "realtime": 379,
+ "realtime-js": 0,
+ "supabase": 83,
+ "supabase-js": 0
+ },
+ {
+ "name": "2020-03-22",
+ "doctest-js": 27,
+ "jsdoc-template": 1,
+ "marketplace": 6,
+ "pg-api": 0,
+ "pg_listen": 0,
+ "postgres": 0,
+ "postgrest-js": 28,
+ "postgrest-py": 0,
+ "postgrest-rs": 0,
+ "realtime": 382,
+ "realtime-js": 0,
+ "supabase": 83,
+ "supabase-js": 0
+ },
+ {
+ "name": "2020-03-24",
+ "doctest-js": 27,
+ "jsdoc-template": 1,
+ "marketplace": 6,
+ "pg-api": 0,
+ "pg_listen": 0,
+ "postgres": 0,
+ "postgrest-js": 28,
+ "postgrest-py": 0,
+ "postgrest-rs": 0,
+ "realtime": 383,
+ "realtime-js": 0,
+ "supabase": 83,
+ "supabase-js": 0
+ },
+ {
+ "name": "2020-03-25",
+ "doctest-js": 28,
+ "jsdoc-template": 1,
+ "marketplace": 6,
+ "pg-api": 0,
+ "pg_listen": 0,
+ "postgres": 0,
+ "postgrest-js": 28,
+ "postgrest-py": 0,
+ "postgrest-rs": 0,
+ "realtime": 384,
+ "realtime-js": 0,
+ "supabase": 83,
+ "supabase-js": 0
+ },
+ {
+ "name": "2020-03-26",
+ "doctest-js": 28,
+ "jsdoc-template": 1,
+ "marketplace": 6,
+ "pg-api": 0,
+ "pg_listen": 0,
+ "postgres": 0,
+ "postgrest-js": 28,
+ "postgrest-py": 0,
+ "postgrest-rs": 0,
+ "realtime": 385,
+ "realtime-js": 0,
+ "supabase": 84,
+ "supabase-js": 0
+ },
+ {
+ "name": "2020-03-27",
+ "doctest-js": 28,
+ "jsdoc-template": 1,
+ "marketplace": 6,
+ "pg-api": 0,
+ "pg_listen": 0,
+ "postgres": 0,
+ "postgrest-js": 28,
+ "postgrest-py": 0,
+ "postgrest-rs": 0,
+ "realtime": 386,
+ "realtime-js": 0,
+ "supabase": 84,
+ "supabase-js": 0
+ },
+ {
+ "name": "2020-03-29",
+ "doctest-js": 28,
+ "jsdoc-template": 1,
+ "marketplace": 6,
+ "pg-api": 0,
+ "pg_listen": 0,
+ "postgres": 0,
+ "postgrest-js": 28,
+ "postgrest-py": 0,
+ "postgrest-rs": 0,
+ "realtime": 386,
+ "realtime-js": 0,
+ "supabase": 85,
+ "supabase-js": 0
+ },
+ {
+ "name": "2020-03-30",
+ "doctest-js": 28,
+ "jsdoc-template": 1,
+ "marketplace": 6,
+ "pg-api": 0,
+ "pg_listen": 0,
+ "postgres": 0,
+ "postgrest-js": 28,
+ "postgrest-py": 0,
+ "postgrest-rs": 0,
+ "realtime": 387,
+ "realtime-js": 0,
+ "supabase": 85,
+ "supabase-js": 0
+ },
+ {
+ "name": "2020-03-31",
+ "doctest-js": 28,
+ "jsdoc-template": 1,
+ "marketplace": 6,
+ "pg-api": 0,
+ "pg_listen": 0,
+ "postgres": 0,
+ "postgrest-js": 29,
+ "postgrest-py": 0,
+ "postgrest-rs": 0,
+ "realtime": 387,
+ "realtime-js": 0,
+ "supabase": 86,
+ "supabase-js": 0
+ },
+ {
+ "name": "2020-04-01",
+ "doctest-js": 28,
+ "jsdoc-template": 1,
+ "marketplace": 6,
+ "pg-api": 0,
+ "pg_listen": 0,
+ "postgres": 0,
+ "postgrest-js": 30,
+ "postgrest-py": 0,
+ "postgrest-rs": 0,
+ "realtime": 388,
+ "realtime-js": 0,
+ "supabase": 86,
+ "supabase-js": 0
+ },
+ {
+ "name": "2020-04-04",
+ "doctest-js": 28,
+ "jsdoc-template": 1,
+ "marketplace": 6,
+ "pg-api": 0,
+ "pg_listen": 0,
+ "postgres": 0,
+ "postgrest-js": 31,
+ "postgrest-py": 0,
+ "postgrest-rs": 0,
+ "realtime": 389,
+ "realtime-js": 0,
+ "supabase": 100,
+ "supabase-js": 0
+ },
+ {
+ "name": "2020-04-05",
+ "doctest-js": 28,
+ "jsdoc-template": 1,
+ "marketplace": 6,
+ "pg-api": 0,
+ "pg_listen": 0,
+ "postgres": 0,
+ "postgrest-js": 31,
+ "postgrest-py": 0,
+ "postgrest-rs": 0,
+ "realtime": 391,
+ "realtime-js": 0,
+ "supabase": 109,
+ "supabase-js": 0
+ },
+ {
+ "name": "2020-04-06",
+ "doctest-js": 29,
+ "jsdoc-template": 1,
+ "marketplace": 6,
+ "pg-api": 0,
+ "pg_listen": 0,
+ "postgres": 0,
+ "postgrest-js": 31,
+ "postgrest-py": 0,
+ "postgrest-rs": 0,
+ "realtime": 392,
+ "realtime-js": 0,
+ "supabase": 109,
+ "supabase-js": 0
+ },
+ {
+ "name": "2020-04-08",
+ "doctest-js": 29,
+ "jsdoc-template": 1,
+ "marketplace": 6,
+ "pg-api": 0,
+ "pg_listen": 0,
+ "postgres": 0,
+ "postgrest-js": 31,
+ "postgrest-py": 0,
+ "postgrest-rs": 0,
+ "realtime": 392,
+ "realtime-js": 0,
+ "supabase": 110,
+ "supabase-js": 0
+ },
+ {
+ "name": "2020-04-10",
+ "doctest-js": 29,
+ "jsdoc-template": 1,
+ "marketplace": 6,
+ "pg-api": 0,
+ "pg_listen": 0,
+ "postgres": 0,
+ "postgrest-js": 31,
+ "postgrest-py": 0,
+ "postgrest-rs": 0,
+ "realtime": 393,
+ "realtime-js": 0,
+ "supabase": 111,
+ "supabase-js": 0
+ },
+ {
+ "name": "2020-04-11",
+ "doctest-js": 30,
+ "jsdoc-template": 1,
+ "marketplace": 6,
+ "pg-api": 0,
+ "pg_listen": 0,
+ "postgres": 0,
+ "postgrest-js": 31,
+ "postgrest-py": 0,
+ "postgrest-rs": 0,
+ "realtime": 393,
+ "realtime-js": 0,
+ "supabase": 111,
+ "supabase-js": 0
+ },
+ {
+ "name": "2020-04-12",
+ "doctest-js": 31,
+ "jsdoc-template": 1,
+ "marketplace": 6,
+ "pg-api": 0,
+ "pg_listen": 0,
+ "postgres": 0,
+ "postgrest-js": 31,
+ "postgrest-py": 0,
+ "postgrest-rs": 0,
+ "realtime": 393,
+ "realtime-js": 0,
+ "supabase": 111,
+ "supabase-js": 0
+ },
+ {
+ "name": "2020-04-15",
+ "doctest-js": 31,
+ "jsdoc-template": 1,
+ "marketplace": 6,
+ "pg-api": 0,
+ "pg_listen": 0,
+ "postgres": 0,
+ "postgrest-js": 31,
+ "postgrest-py": 0,
+ "postgrest-rs": 0,
+ "realtime": 396,
+ "realtime-js": 0,
+ "supabase": 141,
+ "supabase-js": 0
+ },
+ {
+ "name": "2020-04-16",
+ "doctest-js": 31,
+ "jsdoc-template": 1,
+ "marketplace": 6,
+ "pg-api": 0,
+ "pg_listen": 0,
+ "postgres": 0,
+ "postgrest-js": 31,
+ "postgrest-py": 0,
+ "postgrest-rs": 0,
+ "realtime": 398,
+ "realtime-js": 0,
+ "supabase": 148,
+ "supabase-js": 0
+ },
+ {
+ "name": "2020-04-18",
+ "doctest-js": 31,
+ "jsdoc-template": 1,
+ "marketplace": 6,
+ "pg-api": 0,
+ "pg_listen": 0,
+ "postgres": 0,
+ "postgrest-js": 31,
+ "postgrest-py": 0,
+ "postgrest-rs": 0,
+ "realtime": 398,
+ "realtime-js": 0,
+ "supabase": 149,
+ "supabase-js": 0
+ },
+ {
+ "name": "2020-04-19",
+ "doctest-js": 31,
+ "jsdoc-template": 1,
+ "marketplace": 6,
+ "pg-api": 0,
+ "pg_listen": 0,
+ "postgres": 0,
+ "postgrest-js": 31,
+ "postgrest-py": 0,
+ "postgrest-rs": 0,
+ "realtime": 399,
+ "realtime-js": 0,
+ "supabase": 149,
+ "supabase-js": 0
+ },
+ {
+ "name": "2020-04-21",
+ "doctest-js": 31,
+ "jsdoc-template": 1,
+ "marketplace": 6,
+ "pg-api": 0,
+ "pg_listen": 0,
+ "postgres": 1,
+ "postgrest-js": 31,
+ "postgrest-py": 0,
+ "postgrest-rs": 0,
+ "realtime": 399,
+ "realtime-js": 0,
+ "supabase": 149,
+ "supabase-js": 0
+ },
+ {
+ "name": "2020-04-22",
+ "doctest-js": 32,
+ "jsdoc-template": 2,
+ "marketplace": 7,
+ "pg-api": 0,
+ "pg_listen": 0,
+ "postgres": 2,
+ "postgrest-js": 32,
+ "postgrest-py": 0,
+ "postgrest-rs": 0,
+ "realtime": 400,
+ "realtime-js": 0,
+ "supabase": 149,
+ "supabase-js": 0
+ },
+ {
+ "name": "2020-04-23",
+ "doctest-js": 32,
+ "jsdoc-template": 2,
+ "marketplace": 7,
+ "pg-api": 0,
+ "pg_listen": 0,
+ "postgres": 2,
+ "postgrest-js": 36,
+ "postgrest-py": 0,
+ "postgrest-rs": 0,
+ "realtime": 400,
+ "realtime-js": 0,
+ "supabase": 149,
+ "supabase-js": 0
+ },
+ {
+ "name": "2020-04-24",
+ "doctest-js": 32,
+ "jsdoc-template": 2,
+ "marketplace": 7,
+ "pg-api": 0,
+ "pg_listen": 0,
+ "postgres": 2,
+ "postgrest-js": 37,
+ "postgrest-py": 0,
+ "postgrest-rs": 0,
+ "realtime": 400,
+ "realtime-js": 0,
+ "supabase": 149,
+ "supabase-js": 0
+ },
+ {
+ "name": "2020-04-25",
+ "doctest-js": 32,
+ "jsdoc-template": 2,
+ "marketplace": 7,
+ "pg-api": 0,
+ "pg_listen": 0,
+ "postgres": 2,
+ "postgrest-js": 39,
+ "postgrest-py": 0,
+ "postgrest-rs": 0,
+ "realtime": 400,
+ "realtime-js": 0,
+ "supabase": 149,
+ "supabase-js": 0
+ },
+ {
+ "name": "2020-04-27",
+ "doctest-js": 32,
+ "jsdoc-template": 2,
+ "marketplace": 7,
+ "pg-api": 0,
+ "pg_listen": 0,
+ "postgres": 2,
+ "postgrest-js": 39,
+ "postgrest-py": 0,
+ "postgrest-rs": 0,
+ "realtime": 400,
+ "realtime-js": 0,
+ "supabase": 150,
+ "supabase-js": 0
+ },
+ {
+ "name": "2020-04-28",
+ "doctest-js": 32,
+ "jsdoc-template": 2,
+ "marketplace": 7,
+ "pg-api": 0,
+ "pg_listen": 0,
+ "postgres": 2,
+ "postgrest-js": 39,
+ "postgrest-py": 0,
+ "postgrest-rs": 0,
+ "realtime": 401,
+ "realtime-js": 0,
+ "supabase": 151,
+ "supabase-js": 0
+ },
+ {
+ "name": "2020-04-29",
+ "doctest-js": 33,
+ "jsdoc-template": 2,
+ "marketplace": 8,
+ "pg-api": 0,
+ "pg_listen": 0,
+ "postgres": 5,
+ "postgrest-js": 39,
+ "postgrest-py": 0,
+ "postgrest-rs": 0,
+ "realtime": 419,
+ "realtime-js": 0,
+ "supabase": 151,
+ "supabase-js": 0
+ },
+ {
+ "name": "2020-04-30",
+ "doctest-js": 33,
+ "jsdoc-template": 2,
+ "marketplace": 8,
+ "pg-api": 0,
+ "pg_listen": 0,
+ "postgres": 10,
+ "postgrest-js": 39,
+ "postgrest-py": 0,
+ "postgrest-rs": 0,
+ "realtime": 420,
+ "realtime-js": 0,
+ "supabase": 156,
+ "supabase-js": 0
+ },
+ {
+ "name": "2020-05-01",
+ "doctest-js": 33,
+ "jsdoc-template": 2,
+ "marketplace": 8,
+ "pg-api": 0,
+ "pg_listen": 0,
+ "postgres": 14,
+ "postgrest-js": 39,
+ "postgrest-py": 0,
+ "postgrest-rs": 0,
+ "realtime": 488,
+ "realtime-js": 0,
+ "supabase": 158,
+ "supabase-js": 0
+ },
+ {
+ "name": "2020-05-02",
+ "doctest-js": 33,
+ "jsdoc-template": 2,
+ "marketplace": 8,
+ "pg-api": 0,
+ "pg_listen": 0,
+ "postgres": 15,
+ "postgrest-js": 39,
+ "postgrest-py": 0,
+ "postgrest-rs": 0,
+ "realtime": 515,
+ "realtime-js": 0,
+ "supabase": 165,
+ "supabase-js": 0
+ },
+ {
+ "name": "2020-05-03",
+ "doctest-js": 33,
+ "jsdoc-template": 2,
+ "marketplace": 8,
+ "pg-api": 0,
+ "pg_listen": 0,
+ "postgres": 15,
+ "postgrest-js": 39,
+ "postgrest-py": 0,
+ "postgrest-rs": 0,
+ "realtime": 525,
+ "realtime-js": 0,
+ "supabase": 167,
+ "supabase-js": 0
+ },
+ {
+ "name": "2020-05-04",
+ "doctest-js": 33,
+ "jsdoc-template": 2,
+ "marketplace": 8,
+ "pg-api": 0,
+ "pg_listen": 0,
+ "postgres": 15,
+ "postgrest-js": 39,
+ "postgrest-py": 0,
+ "postgrest-rs": 0,
+ "realtime": 534,
+ "realtime-js": 0,
+ "supabase": 167,
+ "supabase-js": 0
+ },
+ {
+ "name": "2020-05-05",
+ "doctest-js": 33,
+ "jsdoc-template": 2,
+ "marketplace": 8,
+ "pg-api": 0,
+ "pg_listen": 0,
+ "postgres": 15,
+ "postgrest-js": 40,
+ "postgrest-py": 0,
+ "postgrest-rs": 0,
+ "realtime": 542,
+ "realtime-js": 0,
+ "supabase": 168,
+ "supabase-js": 0
+ },
+ {
+ "name": "2020-05-06",
+ "doctest-js": 33,
+ "jsdoc-template": 2,
+ "marketplace": 8,
+ "pg-api": 0,
+ "pg_listen": 0,
+ "postgres": 15,
+ "postgrest-js": 40,
+ "postgrest-py": 0,
+ "postgrest-rs": 0,
+ "realtime": 544,
+ "realtime-js": 0,
+ "supabase": 168,
+ "supabase-js": 0
+ },
+ {
+ "name": "2020-05-07",
+ "doctest-js": 34,
+ "jsdoc-template": 2,
+ "marketplace": 8,
+ "pg-api": 0,
+ "pg_listen": 0,
+ "postgres": 15,
+ "postgrest-js": 40,
+ "postgrest-py": 0,
+ "postgrest-rs": 0,
+ "realtime": 547,
+ "realtime-js": 0,
+ "supabase": 171,
+ "supabase-js": 0
+ },
+ {
+ "name": "2020-05-08",
+ "doctest-js": 34,
+ "jsdoc-template": 2,
+ "marketplace": 8,
+ "pg-api": 0,
+ "pg_listen": 0,
+ "postgres": 16,
+ "postgrest-js": 40,
+ "postgrest-py": 0,
+ "postgrest-rs": 0,
+ "realtime": 548,
+ "realtime-js": 0,
+ "supabase": 178,
+ "supabase-js": 0
+ },
+ {
+ "name": "2020-05-09",
+ "doctest-js": 34,
+ "jsdoc-template": 2,
+ "marketplace": 8,
+ "pg-api": 0,
+ "pg_listen": 0,
+ "postgres": 17,
+ "postgrest-js": 40,
+ "postgrest-py": 0,
+ "postgrest-rs": 0,
+ "realtime": 550,
+ "realtime-js": 0,
+ "supabase": 181,
+ "supabase-js": 0
+ },
+ {
+ "name": "2020-05-10",
+ "doctest-js": 34,
+ "jsdoc-template": 2,
+ "marketplace": 8,
+ "pg-api": 0,
+ "pg_listen": 0,
+ "postgres": 17,
+ "postgrest-js": 40,
+ "postgrest-py": 0,
+ "postgrest-rs": 0,
+ "realtime": 551,
+ "realtime-js": 0,
+ "supabase": 183,
+ "supabase-js": 0
+ },
+ {
+ "name": "2020-05-11",
+ "doctest-js": 34,
+ "jsdoc-template": 2,
+ "marketplace": 8,
+ "pg-api": 0,
+ "pg_listen": 0,
+ "postgres": 18,
+ "postgrest-js": 40,
+ "postgrest-py": 0,
+ "postgrest-rs": 0,
+ "realtime": 552,
+ "realtime-js": 0,
+ "supabase": 189,
+ "supabase-js": 0
+ },
+ {
+ "name": "2020-05-12",
+ "doctest-js": 34,
+ "jsdoc-template": 2,
+ "marketplace": 9,
+ "pg-api": 0,
+ "pg_listen": 0,
+ "postgres": 19,
+ "postgrest-js": 41,
+ "postgrest-py": 0,
+ "postgrest-rs": 0,
+ "realtime": 554,
+ "realtime-js": 0,
+ "supabase": 192,
+ "supabase-js": 0
+ },
+ {
+ "name": "2020-05-13",
+ "doctest-js": 34,
+ "jsdoc-template": 2,
+ "marketplace": 9,
+ "pg-api": 0,
+ "pg_listen": 0,
+ "postgres": 19,
+ "postgrest-js": 41,
+ "postgrest-py": 0,
+ "postgrest-rs": 0,
+ "realtime": 555,
+ "realtime-js": 0,
+ "supabase": 193,
+ "supabase-js": 0
+ },
+ {
+ "name": "2020-05-14",
+ "doctest-js": 34,
+ "jsdoc-template": 2,
+ "marketplace": 9,
+ "pg-api": 0,
+ "pg_listen": 0,
+ "postgres": 19,
+ "postgrest-js": 41,
+ "postgrest-py": 0,
+ "postgrest-rs": 0,
+ "realtime": 556,
+ "realtime-js": 0,
+ "supabase": 193,
+ "supabase-js": 0
+ },
+ {
+ "name": "2020-05-15",
+ "doctest-js": 34,
+ "jsdoc-template": 2,
+ "marketplace": 9,
+ "pg-api": 0,
+ "pg_listen": 0,
+ "postgres": 19,
+ "postgrest-js": 42,
+ "postgrest-py": 0,
+ "postgrest-rs": 0,
+ "realtime": 556,
+ "realtime-js": 0,
+ "supabase": 194,
+ "supabase-js": 0
+ },
+ {
+ "name": "2020-05-16",
+ "doctest-js": 34,
+ "jsdoc-template": 2,
+ "marketplace": 9,
+ "pg-api": 0,
+ "pg_listen": 0,
+ "postgres": 19,
+ "postgrest-js": 42,
+ "postgrest-py": 0,
+ "postgrest-rs": 0,
+ "realtime": 556,
+ "realtime-js": 0,
+ "supabase": 195,
+ "supabase-js": 0
+ },
+ {
+ "name": "2020-05-17",
+ "doctest-js": 34,
+ "jsdoc-template": 2,
+ "marketplace": 9,
+ "pg-api": 0,
+ "pg_listen": 0,
+ "postgres": 20,
+ "postgrest-js": 42,
+ "postgrest-py": 0,
+ "postgrest-rs": 0,
+ "realtime": 556,
+ "realtime-js": 1,
+ "supabase": 197,
+ "supabase-js": 0
+ },
+ {
+ "name": "2020-05-18",
+ "doctest-js": 34,
+ "jsdoc-template": 2,
+ "marketplace": 9,
+ "pg-api": 0,
+ "pg_listen": 0,
+ "postgres": 20,
+ "postgrest-js": 42,
+ "postgrest-py": 0,
+ "postgrest-rs": 0,
+ "realtime": 556,
+ "realtime-js": 1,
+ "supabase": 199,
+ "supabase-js": 0
+ },
+ {
+ "name": "2020-05-19",
+ "doctest-js": 34,
+ "jsdoc-template": 2,
+ "marketplace": 9,
+ "pg-api": 0,
+ "pg_listen": 0,
+ "postgres": 21,
+ "postgrest-js": 42,
+ "postgrest-py": 0,
+ "postgrest-rs": 0,
+ "realtime": 558,
+ "realtime-js": 1,
+ "supabase": 200,
+ "supabase-js": 0
+ },
+ {
+ "name": "2020-05-20",
+ "doctest-js": 36,
+ "jsdoc-template": 2,
+ "marketplace": 9,
+ "pg-api": 0,
+ "pg_listen": 0,
+ "postgres": 21,
+ "postgrest-js": 42,
+ "postgrest-py": 0,
+ "postgrest-rs": 0,
+ "realtime": 558,
+ "realtime-js": 1,
+ "supabase": 200,
+ "supabase-js": 0
+ },
+ {
+ "name": "2020-05-21",
+ "doctest-js": 36,
+ "jsdoc-template": 2,
+ "marketplace": 9,
+ "pg-api": 1,
+ "pg_listen": 0,
+ "postgres": 21,
+ "postgrest-js": 42,
+ "postgrest-py": 0,
+ "postgrest-rs": 0,
+ "realtime": 559,
+ "realtime-js": 1,
+ "supabase": 201,
+ "supabase-js": 0
+ },
+ {
+ "name": "2020-05-23",
+ "doctest-js": 36,
+ "jsdoc-template": 2,
+ "marketplace": 9,
+ "pg-api": 1,
+ "pg_listen": 0,
+ "postgres": 21,
+ "postgrest-js": 44,
+ "postgrest-py": 0,
+ "postgrest-rs": 0,
+ "realtime": 561,
+ "realtime-js": 1,
+ "supabase": 202,
+ "supabase-js": 0
+ },
+ {
+ "name": "2020-05-24",
+ "doctest-js": 36,
+ "jsdoc-template": 2,
+ "marketplace": 9,
+ "pg-api": 1,
+ "pg_listen": 0,
+ "postgres": 21,
+ "postgrest-js": 44,
+ "postgrest-py": 0,
+ "postgrest-rs": 0,
+ "realtime": 562,
+ "realtime-js": 1,
+ "supabase": 204,
+ "supabase-js": 0
+ },
+ {
+ "name": "2020-05-25",
+ "doctest-js": 36,
+ "jsdoc-template": 2,
+ "marketplace": 9,
+ "pg-api": 1,
+ "pg_listen": 0,
+ "postgres": 21,
+ "postgrest-js": 44,
+ "postgrest-py": 0,
+ "postgrest-rs": 1,
+ "realtime": 563,
+ "realtime-js": 1,
+ "supabase": 204,
+ "supabase-js": 0
+ },
+ {
+ "name": "2020-05-26",
+ "doctest-js": 36,
+ "jsdoc-template": 2,
+ "marketplace": 9,
+ "pg-api": 1,
+ "pg_listen": 0,
+ "postgres": 23,
+ "postgrest-js": 45,
+ "postgrest-py": 0,
+ "postgrest-rs": 1,
+ "realtime": 563,
+ "realtime-js": 1,
+ "supabase": 204,
+ "supabase-js": 0
+ },
+ {
+ "name": "2020-05-27",
+ "doctest-js": 36,
+ "jsdoc-template": 2,
+ "marketplace": 9,
+ "pg-api": 15,
+ "pg_listen": 0,
+ "postgres": 56,
+ "postgrest-js": 53,
+ "postgrest-py": 1,
+ "postgrest-rs": 5,
+ "realtime": 725,
+ "realtime-js": 1,
+ "supabase": 734,
+ "supabase-js": 2
+ },
+ {
+ "name": "2020-05-28",
+ "doctest-js": 37,
+ "jsdoc-template": 2,
+ "marketplace": 9,
+ "pg-api": 23,
+ "pg_listen": 0,
+ "postgres": 75,
+ "postgrest-js": 59,
+ "postgrest-py": 1,
+ "postgrest-rs": 5,
+ "realtime": 791,
+ "realtime-js": 3,
+ "supabase": 1027,
+ "supabase-js": 3
+ },
+ {
+ "name": "2020-05-29",
+ "doctest-js": 37,
+ "jsdoc-template": 2,
+ "marketplace": 9,
+ "pg-api": 24,
+ "pg_listen": 0,
+ "postgres": 80,
+ "postgrest-js": 59,
+ "postgrest-py": 1,
+ "postgrest-rs": 5,
+ "realtime": 822,
+ "realtime-js": 3,
+ "supabase": 1166,
+ "supabase-js": 3
+ },
+ {
+ "name": "2020-05-30",
+ "doctest-js": 37,
+ "jsdoc-template": 2,
+ "marketplace": 9,
+ "pg-api": 24,
+ "pg_listen": 0,
+ "postgres": 82,
+ "postgrest-js": 60,
+ "postgrest-py": 1,
+ "postgrest-rs": 6,
+ "realtime": 834,
+ "realtime-js": 3,
+ "supabase": 1217,
+ "supabase-js": 3
+ },
+ {
+ "name": "2020-05-31",
+ "doctest-js": 37,
+ "jsdoc-template": 2,
+ "marketplace": 9,
+ "pg-api": 24,
+ "pg_listen": 0,
+ "postgres": 83,
+ "postgrest-js": 60,
+ "postgrest-py": 1,
+ "postgrest-rs": 6,
+ "realtime": 859,
+ "realtime-js": 3,
+ "supabase": 1262,
+ "supabase-js": 3
+ },
+ {
+ "name": "2020-06-01",
+ "doctest-js": 37,
+ "jsdoc-template": 2,
+ "marketplace": 9,
+ "pg-api": 25,
+ "pg_listen": 0,
+ "postgres": 87,
+ "postgrest-js": 61,
+ "postgrest-py": 1,
+ "postgrest-rs": 6,
+ "realtime": 915,
+ "realtime-js": 3,
+ "supabase": 1321,
+ "supabase-js": 5
+ },
+ {
+ "name": "2020-06-02",
+ "doctest-js": 38,
+ "jsdoc-template": 2,
+ "marketplace": 9,
+ "pg-api": 26,
+ "pg_listen": 0,
+ "postgres": 87,
+ "postgrest-js": 64,
+ "postgrest-py": 1,
+ "postgrest-rs": 6,
+ "realtime": 1084,
+ "realtime-js": 3,
+ "supabase": 1375,
+ "supabase-js": 5
+ },
+ {
+ "name": "2020-06-03",
+ "doctest-js": 38,
+ "jsdoc-template": 2,
+ "marketplace": 9,
+ "pg-api": 27,
+ "pg_listen": 0,
+ "postgres": 90,
+ "postgrest-js": 64,
+ "postgrest-py": 1,
+ "postgrest-rs": 6,
+ "realtime": 1255,
+ "realtime-js": 3,
+ "supabase": 1429,
+ "supabase-js": 5
+ },
+ {
+ "name": "2020-06-04",
+ "doctest-js": 39,
+ "jsdoc-template": 2,
+ "marketplace": 10,
+ "pg-api": 28,
+ "pg_listen": 0,
+ "postgres": 91,
+ "postgrest-js": 66,
+ "postgrest-py": 2,
+ "postgrest-rs": 7,
+ "realtime": 1357,
+ "realtime-js": 4,
+ "supabase": 1490,
+ "supabase-js": 6
+ },
+ {
+ "name": "2020-06-05",
+ "doctest-js": 39,
+ "jsdoc-template": 2,
+ "marketplace": 10,
+ "pg-api": 28,
+ "pg_listen": 0,
+ "postgres": 92,
+ "postgrest-js": 66,
+ "postgrest-py": 2,
+ "postgrest-rs": 7,
+ "realtime": 1388,
+ "realtime-js": 4,
+ "supabase": 1528,
+ "supabase-js": 6
+ },
+ {
+ "name": "2020-06-06",
+ "doctest-js": 39,
+ "jsdoc-template": 2,
+ "marketplace": 10,
+ "pg-api": 28,
+ "pg_listen": 0,
+ "postgres": 92,
+ "postgrest-js": 67,
+ "postgrest-py": 2,
+ "postgrest-rs": 7,
+ "realtime": 1399,
+ "realtime-js": 4,
+ "supabase": 1542,
+ "supabase-js": 6
+ },
+ {
+ "name": "2020-06-07",
+ "doctest-js": 39,
+ "jsdoc-template": 2,
+ "marketplace": 10,
+ "pg-api": 29,
+ "pg_listen": 0,
+ "postgres": 95,
+ "postgrest-js": 68,
+ "postgrest-py": 2,
+ "postgrest-rs": 7,
+ "realtime": 1404,
+ "realtime-js": 5,
+ "supabase": 1553,
+ "supabase-js": 6
+ },
+ {
+ "name": "2020-06-08",
+ "doctest-js": 39,
+ "jsdoc-template": 2,
+ "marketplace": 10,
+ "pg-api": 30,
+ "pg_listen": 0,
+ "postgres": 97,
+ "postgrest-js": 68,
+ "postgrest-py": 2,
+ "postgrest-rs": 7,
+ "realtime": 1419,
+ "realtime-js": 5,
+ "supabase": 1588,
+ "supabase-js": 6
+ },
+ {
+ "name": "2020-06-09",
+ "doctest-js": 41,
+ "jsdoc-template": 2,
+ "marketplace": 10,
+ "pg-api": 30,
+ "pg_listen": 0,
+ "postgres": 97,
+ "postgrest-js": 68,
+ "postgrest-py": 2,
+ "postgrest-rs": 7,
+ "realtime": 1431,
+ "realtime-js": 5,
+ "supabase": 1604,
+ "supabase-js": 6
+ },
+ {
+ "name": "2020-06-10",
+ "doctest-js": 41,
+ "jsdoc-template": 2,
+ "marketplace": 10,
+ "pg-api": 31,
+ "pg_listen": 0,
+ "postgres": 97,
+ "postgrest-js": 69,
+ "postgrest-py": 2,
+ "postgrest-rs": 10,
+ "realtime": 1444,
+ "realtime-js": 5,
+ "supabase": 1616,
+ "supabase-js": 7
+ },
+ {
+ "name": "2020-06-11",
+ "doctest-js": 41,
+ "jsdoc-template": 2,
+ "marketplace": 10,
+ "pg-api": 31,
+ "pg_listen": 0,
+ "postgres": 97,
+ "postgrest-js": 69,
+ "postgrest-py": 2,
+ "postgrest-rs": 17,
+ "realtime": 1445,
+ "realtime-js": 5,
+ "supabase": 1631,
+ "supabase-js": 7
+ },
+ {
+ "name": "2020-06-12",
+ "doctest-js": 41,
+ "jsdoc-template": 2,
+ "marketplace": 10,
+ "pg-api": 31,
+ "pg_listen": 0,
+ "postgres": 98,
+ "postgrest-js": 70,
+ "postgrest-py": 2,
+ "postgrest-rs": 25,
+ "realtime": 1451,
+ "realtime-js": 5,
+ "supabase": 1637,
+ "supabase-js": 7
+ },
+ {
+ "name": "2020-06-13",
+ "doctest-js": 41,
+ "jsdoc-template": 2,
+ "marketplace": 10,
+ "pg-api": 32,
+ "pg_listen": 0,
+ "postgres": 98,
+ "postgrest-js": 70,
+ "postgrest-py": 2,
+ "postgrest-rs": 25,
+ "realtime": 1453,
+ "realtime-js": 5,
+ "supabase": 1643,
+ "supabase-js": 7
+ },
+ {
+ "name": "2020-06-14",
+ "doctest-js": 41,
+ "jsdoc-template": 2,
+ "marketplace": 10,
+ "pg-api": 32,
+ "pg_listen": 0,
+ "postgres": 98,
+ "postgrest-js": 70,
+ "postgrest-py": 2,
+ "postgrest-rs": 25,
+ "realtime": 1459,
+ "realtime-js": 5,
+ "supabase": 1651,
+ "supabase-js": 7
+ },
+ {
+ "name": "2020-06-15",
+ "doctest-js": 41,
+ "jsdoc-template": 2,
+ "marketplace": 10,
+ "pg-api": 32,
+ "pg_listen": 0,
+ "postgres": 98,
+ "postgrest-js": 70,
+ "postgrest-py": 2,
+ "postgrest-rs": 26,
+ "realtime": 1467,
+ "realtime-js": 5,
+ "supabase": 1660,
+ "supabase-js": 7
+ },
+ {
+ "name": "2020-06-16",
+ "doctest-js": 41,
+ "jsdoc-template": 2,
+ "marketplace": 10,
+ "pg-api": 34,
+ "pg_listen": 0,
+ "postgres": 99,
+ "postgrest-js": 70,
+ "postgrest-py": 2,
+ "postgrest-rs": 26,
+ "realtime": 1472,
+ "realtime-js": 5,
+ "supabase": 1663,
+ "supabase-js": 7
+ },
+ {
+ "name": "2020-06-17",
+ "doctest-js": 41,
+ "jsdoc-template": 2,
+ "marketplace": 10,
+ "pg-api": 34,
+ "pg_listen": 0,
+ "postgres": 99,
+ "postgrest-js": 70,
+ "postgrest-py": 2,
+ "postgrest-rs": 26,
+ "realtime": 1475,
+ "realtime-js": 5,
+ "supabase": 1668,
+ "supabase-js": 7
+ },
+ {
+ "name": "2020-06-18",
+ "doctest-js": 41,
+ "jsdoc-template": 2,
+ "marketplace": 10,
+ "pg-api": 34,
+ "pg_listen": 0,
+ "postgres": 100,
+ "postgrest-js": 70,
+ "postgrest-py": 2,
+ "postgrest-rs": 27,
+ "realtime": 1476,
+ "realtime-js": 5,
+ "supabase": 1678,
+ "supabase-js": 7
+ },
+ {
+ "name": "2020-06-19",
+ "doctest-js": 41,
+ "jsdoc-template": 2,
+ "marketplace": 10,
+ "pg-api": 34,
+ "pg_listen": 0,
+ "postgres": 101,
+ "postgrest-js": 70,
+ "postgrest-py": 2,
+ "postgrest-rs": 27,
+ "realtime": 1479,
+ "realtime-js": 5,
+ "supabase": 1682,
+ "supabase-js": 7
+ },
+ {
+ "name": "2020-06-20",
+ "doctest-js": 41,
+ "jsdoc-template": 2,
+ "marketplace": 10,
+ "pg-api": 34,
+ "pg_listen": 0,
+ "postgres": 101,
+ "postgrest-js": 71,
+ "postgrest-py": 2,
+ "postgrest-rs": 27,
+ "realtime": 1480,
+ "realtime-js": 5,
+ "supabase": 1688,
+ "supabase-js": 7
+ },
+ {
+ "name": "2020-06-21",
+ "doctest-js": 41,
+ "jsdoc-template": 2,
+ "marketplace": 10,
+ "pg-api": 35,
+ "pg_listen": 0,
+ "postgres": 101,
+ "postgrest-js": 71,
+ "postgrest-py": 2,
+ "postgrest-rs": 27,
+ "realtime": 1482,
+ "realtime-js": 5,
+ "supabase": 1697,
+ "supabase-js": 7
+ },
+ {
+ "name": "2020-06-22",
+ "doctest-js": 41,
+ "jsdoc-template": 2,
+ "marketplace": 10,
+ "pg-api": 35,
+ "pg_listen": 0,
+ "postgres": 101,
+ "postgrest-js": 71,
+ "postgrest-py": 2,
+ "postgrest-rs": 27,
+ "realtime": 1488,
+ "realtime-js": 5,
+ "supabase": 1703,
+ "supabase-js": 7
+ },
+ {
+ "name": "2020-06-23",
+ "doctest-js": 41,
+ "jsdoc-template": 2,
+ "marketplace": 10,
+ "pg-api": 35,
+ "pg_listen": 0,
+ "postgres": 101,
+ "postgrest-js": 71,
+ "postgrest-py": 2,
+ "postgrest-rs": 28,
+ "realtime": 1491,
+ "realtime-js": 5,
+ "supabase": 1713,
+ "supabase-js": 7
+ },
+ {
+ "name": "2020-06-24",
+ "doctest-js": 41,
+ "jsdoc-template": 2,
+ "marketplace": 10,
+ "pg-api": 36,
+ "pg_listen": 0,
+ "postgres": 101,
+ "postgrest-js": 71,
+ "postgrest-py": 2,
+ "postgrest-rs": 28,
+ "realtime": 1494,
+ "realtime-js": 5,
+ "supabase": 1718,
+ "supabase-js": 7
+ },
+ {
+ "name": "2020-06-25",
+ "doctest-js": 41,
+ "jsdoc-template": 2,
+ "marketplace": 10,
+ "pg-api": 36,
+ "pg_listen": 0,
+ "postgres": 101,
+ "postgrest-js": 71,
+ "postgrest-py": 2,
+ "postgrest-rs": 28,
+ "realtime": 1496,
+ "realtime-js": 5,
+ "supabase": 1724,
+ "supabase-js": 7
+ }
+]
diff --git a/apps/temp-docs/docs/404.mdx b/apps/temp-docs/docs/404.mdx
new file mode 100644
index 00000000000..78c7d88f970
--- /dev/null
+++ b/apps/temp-docs/docs/404.mdx
@@ -0,0 +1,6 @@
+---
+title: '404'
+description: 'Page not found'
+---
+
+# Page not found
diff --git a/apps/temp-docs/docs/architecture.mdx b/apps/temp-docs/docs/architecture.mdx
new file mode 100644
index 00000000000..706b3319a55
--- /dev/null
+++ b/apps/temp-docs/docs/architecture.mdx
@@ -0,0 +1,16 @@
+---
+title: 'Architecture'
+description: 'Supabase Architecture'
+---
+
+# Architecture
+
+Supabase is open source. Wherever possible, we use and support existing tools rather than developing from scratch. We choose open source tools which are scalable and we make them simple to use.
+
+
+
+Supabase is not a 1-to-1 mapping of Firebase. While we are building many of the features that Firebase offers, we are not going about it the same way.
+
+Our technological choices are quite different to Firebase. Everything we use is open source. Wherever possible, we use and support existing tools in the ecosystem, rather than developing from scratch.
+
+Most notably, we use Postgres rather than a NoSQL store. This was a deliberate choice. We believe that no other database on the market offers the scalability and functionality required to legitimately compete with Firebase.
diff --git a/apps/temp-docs/docs/cli/.gitkeep b/apps/temp-docs/docs/cli/.gitkeep
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/apps/temp-docs/docs/cli/config-reference.mdx b/apps/temp-docs/docs/cli/config-reference.mdx
new file mode 100644
index 00000000000..98a85be9067
--- /dev/null
+++ b/apps/temp-docs/docs/cli/config-reference.mdx
@@ -0,0 +1,35 @@
+---
+id: config-reference
+title: "Config reference"
+slug: config-reference
+custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/cli.yml
+---
+
+import Tabs from '@theme/Tabs';
+import TabsPanel from '@theme/TabsPanel';
+
+The config file resides in `supabase/config.json` after you run `supabase init`.
+
+#### `projectId` (required)
+
+A string used to distinguish different Supabase projects on the same host. Defaults to the working directory name when running `supabase init`.
+
+#### `ports.api` (required)
+
+Host port used for the API URL. Defaults to `54321`.
+
+#### `ports.db` (required)
+
+Host port used for the DB URL. Defaults to `54322`.
+
+#### `ports.studio` (required)
+
+Host port used for Supabase Studio. Defaults to `54323`.
+
+#### `ports.inbucket` (optional)
+
+Host port used for the web interface of Inbucket email testing server. When not specified, emails are automatically confirmed. When specified, emails are not sent to the recipient, but rather monitored and accessible via the web interface.
+
+#### `dbVersion` (required)
+
+Server version number used for the database. This needs to match the server version number of the remote database you intend to link to with `supabase db remote set`. You can retrieve it by running `SHOW server_version_num`.
\ No newline at end of file
diff --git a/apps/temp-docs/docs/cli/index.mdx b/apps/temp-docs/docs/cli/index.mdx
new file mode 100644
index 00000000000..257df67ebac
--- /dev/null
+++ b/apps/temp-docs/docs/cli/index.mdx
@@ -0,0 +1,27 @@
+---
+id: index
+title: "About"
+slug: about
+custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/cli.yml
+---
+
+import Tabs from '@theme/Tabs';
+import TabsPanel from '@theme/TabsPanel';
+
+The Supabase CLI can be found in our [CLI](https://github.com/supabase/cli) repository.
+
+- [x] Running Supabase locally
+- [x] Managing database migrations
+- [x] Pushing your local changes to production
+- [ ] Manage your Supabase Account
+- [ ] Manage your Supabase Projects
+- [ ] Generating types directly from your database schema
+- [ ] Generating API and validation schemas from your database
+
+## Installing the CLI
+
+Installation instructions can be found [here](https://github.com/supabase/cli#install-the-cli).
+
+## Support
+
+Report issues to our [issue tracker](https://github.com/supabase/cli/issues).
\ No newline at end of file
diff --git a/apps/temp-docs/docs/cli/supabase-db-branch-create.mdx b/apps/temp-docs/docs/cli/supabase-db-branch-create.mdx
new file mode 100644
index 00000000000..276da242581
--- /dev/null
+++ b/apps/temp-docs/docs/cli/supabase-db-branch-create.mdx
@@ -0,0 +1,16 @@
+---
+id: supabase-db-branch-create
+title: "supabase db branch create"
+slug: supabase-db-branch-create
+custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/cli.yml
+---
+
+import Tabs from '@theme/Tabs';
+import TabsPanel from '@theme/TabsPanel';
+
+```
+Create a branch.
+
+Usage:
+ supabase db branch create
+```
\ No newline at end of file
diff --git a/apps/temp-docs/docs/cli/supabase-db-branch-delete.mdx b/apps/temp-docs/docs/cli/supabase-db-branch-delete.mdx
new file mode 100644
index 00000000000..37ddb844a7c
--- /dev/null
+++ b/apps/temp-docs/docs/cli/supabase-db-branch-delete.mdx
@@ -0,0 +1,16 @@
+---
+id: supabase-db-branch-delete
+title: "supabase db branch delete"
+slug: supabase-db-branch-delete
+custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/cli.yml
+---
+
+import Tabs from '@theme/Tabs';
+import TabsPanel from '@theme/TabsPanel';
+
+```
+Delete a branch.
+
+Usage:
+ supabase db branch delete
+```
\ No newline at end of file
diff --git a/apps/temp-docs/docs/cli/supabase-db-branch-list.mdx b/apps/temp-docs/docs/cli/supabase-db-branch-list.mdx
new file mode 100644
index 00000000000..9933f256e6e
--- /dev/null
+++ b/apps/temp-docs/docs/cli/supabase-db-branch-list.mdx
@@ -0,0 +1,16 @@
+---
+id: supabase-db-branch-list
+title: "supabase db branch list"
+slug: supabase-db-branch-list
+custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/cli.yml
+---
+
+import Tabs from '@theme/Tabs';
+import TabsPanel from '@theme/TabsPanel';
+
+```
+List branches.
+
+Usage:
+ supabase db branch list
+```
\ No newline at end of file
diff --git a/apps/temp-docs/docs/cli/supabase-db-changes.mdx b/apps/temp-docs/docs/cli/supabase-db-changes.mdx
new file mode 100644
index 00000000000..2b4bdbe6cf1
--- /dev/null
+++ b/apps/temp-docs/docs/cli/supabase-db-changes.mdx
@@ -0,0 +1,16 @@
+---
+id: supabase-db-changes
+title: "supabase db changes"
+slug: supabase-db-changes
+custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/cli.yml
+---
+
+import Tabs from '@theme/Tabs';
+import TabsPanel from '@theme/TabsPanel';
+
+```
+Diffs the local database with current migrations, then print the diff to standard output.
+
+Usage:
+ supabase db changes
+```
\ No newline at end of file
diff --git a/apps/temp-docs/docs/cli/supabase-db-commit.mdx b/apps/temp-docs/docs/cli/supabase-db-commit.mdx
new file mode 100644
index 00000000000..8823a7fa6d3
--- /dev/null
+++ b/apps/temp-docs/docs/cli/supabase-db-commit.mdx
@@ -0,0 +1,16 @@
+---
+id: supabase-db-commit
+title: "supabase db commit"
+slug: supabase-db-commit
+custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/cli.yml
+---
+
+import Tabs from '@theme/Tabs';
+import TabsPanel from '@theme/TabsPanel';
+
+```
+Diffs the local database with current migrations, writing it as a new migration.
+
+Usage:
+ supabase db commit
+```
\ No newline at end of file
diff --git a/apps/temp-docs/docs/cli/supabase-db-push.mdx b/apps/temp-docs/docs/cli/supabase-db-push.mdx
new file mode 100644
index 00000000000..0b3435b4186
--- /dev/null
+++ b/apps/temp-docs/docs/cli/supabase-db-push.mdx
@@ -0,0 +1,16 @@
+---
+id: supabase-db-push
+title: "supabase db push"
+slug: supabase-db-push
+custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/cli.yml
+---
+
+import Tabs from '@theme/Tabs';
+import TabsPanel from '@theme/TabsPanel';
+
+```
+Push new migrations to the remote database.
+
+Usage:
+ supabase db push
+```
\ No newline at end of file
diff --git a/apps/temp-docs/docs/cli/supabase-db-remote-commit.mdx b/apps/temp-docs/docs/cli/supabase-db-remote-commit.mdx
new file mode 100644
index 00000000000..c09e1ee77e0
--- /dev/null
+++ b/apps/temp-docs/docs/cli/supabase-db-remote-commit.mdx
@@ -0,0 +1,16 @@
+---
+id: supabase-db-remote-commit
+title: "supabase db remote commit"
+slug: supabase-db-remote-commit
+custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/cli.yml
+---
+
+import Tabs from '@theme/Tabs';
+import TabsPanel from '@theme/TabsPanel';
+
+```
+Commit changes on the remote database since the last pushed migration.
+
+Usage:
+ supabase db remote commit
+```
\ No newline at end of file
diff --git a/apps/temp-docs/docs/cli/supabase-db-remote-set.mdx b/apps/temp-docs/docs/cli/supabase-db-remote-set.mdx
new file mode 100644
index 00000000000..93a240ee0a5
--- /dev/null
+++ b/apps/temp-docs/docs/cli/supabase-db-remote-set.mdx
@@ -0,0 +1,16 @@
+---
+id: supabase-db-remote-set
+title: "supabase db remote set"
+slug: supabase-db-remote-set
+custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/cli.yml
+---
+
+import Tabs from '@theme/Tabs';
+import TabsPanel from '@theme/TabsPanel';
+
+```
+Set the remote database to push migrations to.
+
+Usage:
+ supabase db remote set
+```
\ No newline at end of file
diff --git a/apps/temp-docs/docs/cli/supabase-db-reset.mdx b/apps/temp-docs/docs/cli/supabase-db-reset.mdx
new file mode 100644
index 00000000000..dea74ae7534
--- /dev/null
+++ b/apps/temp-docs/docs/cli/supabase-db-reset.mdx
@@ -0,0 +1,16 @@
+---
+id: supabase-db-reset
+title: "supabase db reset"
+slug: supabase-db-reset
+custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/cli.yml
+---
+
+import Tabs from '@theme/Tabs';
+import TabsPanel from '@theme/TabsPanel';
+
+```
+Resets the local database to reflect current migrations. Any changes on the local database that is not committed will be lost.
+
+Usage:
+ supabase db reset
+```
\ No newline at end of file
diff --git a/apps/temp-docs/docs/cli/supabase-db-switch.mdx b/apps/temp-docs/docs/cli/supabase-db-switch.mdx
new file mode 100644
index 00000000000..faf65f86268
--- /dev/null
+++ b/apps/temp-docs/docs/cli/supabase-db-switch.mdx
@@ -0,0 +1,16 @@
+---
+id: supabase-db-switch
+title: "supabase db switch"
+slug: supabase-db-switch
+custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/cli.yml
+---
+
+import Tabs from '@theme/Tabs';
+import TabsPanel from '@theme/TabsPanel';
+
+```
+Switch branches.
+
+Usage:
+ supabase db switch
+```
\ No newline at end of file
diff --git a/apps/temp-docs/docs/cli/supabase-eject.mdx b/apps/temp-docs/docs/cli/supabase-eject.mdx
new file mode 100644
index 00000000000..e7d12225dab
--- /dev/null
+++ b/apps/temp-docs/docs/cli/supabase-eject.mdx
@@ -0,0 +1,17 @@
+---
+id: supabase-eject
+title: "supabase eject"
+slug: supabase-eject
+custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/cli.yml
+---
+
+import Tabs from '@theme/Tabs';
+import TabsPanel from '@theme/TabsPanel';
+
+```bash
+supabase eject
+```
+
+Run in any folder to create a `docker` folder with a `docker-compose.yml`. This is useful for self-hosting or adding custom configuration.
+
+See our [Self Hosting](/docs/guides/hosting/overview) docs for more details.
\ No newline at end of file
diff --git a/apps/temp-docs/docs/cli/supabase-help.mdx b/apps/temp-docs/docs/cli/supabase-help.mdx
new file mode 100644
index 00000000000..8494f7305ee
--- /dev/null
+++ b/apps/temp-docs/docs/cli/supabase-help.mdx
@@ -0,0 +1,17 @@
+---
+id: supabase-help
+title: "supabase help"
+slug: supabase-help
+custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/cli.yml
+---
+
+import Tabs from '@theme/Tabs';
+import TabsPanel from '@theme/TabsPanel';
+
+```
+Help provides help for any command in the application.
+Simply type supabase help [path to command] for full details.
+
+Usage:
+ supabase help [command]
+```
\ No newline at end of file
diff --git a/apps/temp-docs/docs/cli/supabase-init.mdx b/apps/temp-docs/docs/cli/supabase-init.mdx
new file mode 100644
index 00000000000..21472d298d8
--- /dev/null
+++ b/apps/temp-docs/docs/cli/supabase-init.mdx
@@ -0,0 +1,16 @@
+---
+id: supabase-init
+title: "supabase init"
+slug: supabase-init
+custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/cli.yml
+---
+
+import Tabs from '@theme/Tabs';
+import TabsPanel from '@theme/TabsPanel';
+
+```
+Initialize a project to use Supabase CLI.
+
+Usage:
+ supabase init
+```
\ No newline at end of file
diff --git a/apps/temp-docs/docs/cli/supabase-migration-new.mdx b/apps/temp-docs/docs/cli/supabase-migration-new.mdx
new file mode 100644
index 00000000000..90d692a1598
--- /dev/null
+++ b/apps/temp-docs/docs/cli/supabase-migration-new.mdx
@@ -0,0 +1,16 @@
+---
+id: supabase-migration-new
+title: "supabase migration new"
+slug: supabase-migration-new
+custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/cli.yml
+---
+
+import Tabs from '@theme/Tabs';
+import TabsPanel from '@theme/TabsPanel';
+
+```
+Create an empty migration.
+
+Usage:
+ supabase migration new
+```
\ No newline at end of file
diff --git a/apps/temp-docs/docs/cli/supabase-start.mdx b/apps/temp-docs/docs/cli/supabase-start.mdx
new file mode 100644
index 00000000000..d7eb6395774
--- /dev/null
+++ b/apps/temp-docs/docs/cli/supabase-start.mdx
@@ -0,0 +1,16 @@
+---
+id: supabase-start
+title: "supabase start"
+slug: supabase-start
+custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/cli.yml
+---
+
+import Tabs from '@theme/Tabs';
+import TabsPanel from '@theme/TabsPanel';
+
+```
+Start the Supabase local development setup.
+
+Usage:
+ supabase start
+```
\ No newline at end of file
diff --git a/apps/temp-docs/docs/cli/supabase-stop.mdx b/apps/temp-docs/docs/cli/supabase-stop.mdx
new file mode 100644
index 00000000000..ca813c5a1c2
--- /dev/null
+++ b/apps/temp-docs/docs/cli/supabase-stop.mdx
@@ -0,0 +1,15 @@
+---
+id: supabase-stop
+title: "supabase stop"
+slug: supabase-stop
+custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/cli.yml
+---
+
+import Tabs from '@theme/Tabs';
+import TabsPanel from '@theme/TabsPanel';
+
+```bash
+supabase stop
+```
+
+When you are finished with Supabase, run `supabase stop` to stop the Docker services.
\ No newline at end of file
diff --git a/apps/temp-docs/docs/company/aup.mdx b/apps/temp-docs/docs/company/aup.mdx
new file mode 100644
index 00000000000..df03e2efe3d
--- /dev/null
+++ b/apps/temp-docs/docs/company/aup.mdx
@@ -0,0 +1,54 @@
+---
+id: aup
+title: Acceptable Use Policy
+---
+
+# Acceptable Use Policy
+
+`Last Modified: 15 April 2021`
+
+This Acceptable Use Policy (this “Policy”) describes prohibited uses of the web services offered by Supabase, Inc. and its affiliates (the “Services”) and the website located at https://supabase.com (the “Supabase Site”). The examples described in this Policy are not exhaustive. We may modify this Policy at any time by posting a revised version on the Supabase Site. By using the Services or accessing the Supabase Site, you agree to the latest version of this Policy. If you violate the Policy or authorize or help others to do so, we may suspend or terminate your use of the Services.
+
+## No Illegal, Harmful, or Offensive Use or Content
+
+You may not use, or encourage, promote, facilitate or instruct others to use, the Services or Supabase Site for any illegal, harmful, fraudulent, infringing or offensive use, or to transmit, store, display, distribute or otherwise make available content that is illegal, harmful, fraudulent, infringing or offensive. Prohibited activities or content include:
+
+- **Illegal, Harmful or Fraudulent Activities.** Any activities that are illegal, that violate the rights of others, or that may be harmful to others, our operations or reputation, including disseminating, promoting or facilitating child pornography, offering or disseminating fraudulent goods, services, schemes, or promotions, make-money-fast schemes, ponzi and pyramid schemes, phishing, or pharming.
+- **Infringing Content.** Content that infringes or misappropriates the intellectual property or proprietary rights of others.
+- **Offensive Content.** Content that is defamatory, obscene, abusive, invasive of privacy, or otherwise objectionable, including content that constitutes child pornography, relates to bestiality, or depicts non-consensual sex acts.
+- **Harmful Content.** Content or other computer technology that may damage, interfere with, surreptitiously intercept, or expropriate any system, program, or data, including viruses, Trojan horses, worms, time bombs, or cancelbots.
+- **Platform compliance.** Any activities that are deemed unacceptable by the platforms used by the Supabase Site and Services, including [AWS](https://aws.amazon.com/aup/).
+
+## No Security Violations
+
+You may not use the Services to violate the security or integrity of any network, computer or communications system, software application, or network or computing device (each, a “System”). Prohibited activities include:
+
+- **Unauthorized Access.** Accessing or using any System without permission, including attempting to probe, scan, or test the vulnerability of a System or to breach any security or authentication measures used by a System.
+- **Interception.** Monitoring of data or traffic on a System without permission.
+- **Falsification of Origin.** Forging TCP-IP packet headers, e-mail headers, or any part of a message describing its origin or route. The legitimate use of aliases and anonymous remailers is not prohibited by this provision.
+
+## No Network Abuse
+
+You may not make network connections to any users, hosts, or networks unless you have permission to communicate with them. Prohibited activities include:
+
+- **Monitoring or Crawling.** Monitoring or crawling of a System that impairs or disrupts the System being monitored or crawled.
+- **Denial of Service (DoS).** Inundating a target with communications requests so the target either cannot respond to legitimate traffic or responds so slowly that it becomes ineffective.
+- **Intentional Interference.** Interfering with the proper functioning of any System, including any deliberate attempt to overload a system by mail bombing, news bombing, broadcast attacks, or flooding techniques.
+- **Operation of Certain Network Services.** Operating network services like open proxies, open mail relays, or open recursive domain name servers.
+- **Avoiding System Restrictions.** Using manual or electronic means to avoid any use limitations placed on a System, such as access and storage restrictions.
+
+## No E-Mail or Other Message Abuse
+
+You will not distribute, publish, send, or facilitate the sending of unsolicited mass e-mail or other messages, promotions, advertising, or solicitations (like “spam”), including commercial advertising and informational announcements. You will not alter or obscure mail headers or assume a sender’s identity without the sender’s explicit permission. You will not collect replies to messages sent from another internet service provider if those messages violate this Policy or the acceptable use policy of that provider.
+
+## Our Monitoring and Enforcement
+
+We reserve the right, but do not assume the obligation, to investigate any violation of this Policy or misuse of the Services or Supabase Site. We may:
+
+- investigate violations of this Policy or misuse of the Services or Supabase Site; or
+- remove, disable access to, or modify any content or resource that violates this Policy or any other agreement we have with you for use of the Services or the Supabase Site.
+
+We may report any activity that we suspect violates any law or regulation to appropriate law enforcement officials, regulators, or other appropriate third parties. Our reporting may include disclosing appropriate customer information. We also may cooperate with appropriate law enforcement agencies, regulators, or other appropriate third parties to help with the investigation and prosecution of illegal conduct by providing network and systems information related to alleged violations of this Policy.
+Reporting of Violations of this Policy
+
+If you become aware of any violation of this Policy, you will immediately notify us and provide us with assistance, as requested, to stop or remedy the violation. To report any violation of this Policy, please contact us at support@supabase.io.
diff --git a/apps/temp-docs/docs/company/privacy.mdx b/apps/temp-docs/docs/company/privacy.mdx
new file mode 100644
index 00000000000..794e7415702
--- /dev/null
+++ b/apps/temp-docs/docs/company/privacy.mdx
@@ -0,0 +1,294 @@
+---
+id: privacy
+title: Privacy Policy
+---
+
+# Privacy Policy
+
+`Last modified: 27 March 2021`
+
+Thank you for your interest in Supabase, Inc., ("**_Supabase_**," "**_we_**", "**_our_**" or "**_us_**"). Supabase provides a suite of open source tools, stitched together to build a seamless developer experience. This Privacy Notice explains how information about you, that directly identifies you, or that makes you identifiable ("**_personal information_**") is collected, used and disclosed by Supabase in connection with our website at [supabase.io](https://supabase.com) (the "**_Site_**") and our services offered in connection with the Site (collectively with the Site, the "**_Service_**").
+
+We may also provide you with additional privacy notices or disclosures where the scope of the inquiry, request, or personal information we require falls outside the scope of this Privacy Notice. In that case, the additional Privacy Notice or disclosures will govern how we may process the information you provide at that time. Please note that this Privacy Notice does not cover or apply to our processing of information about our employees or contractors.
+
+This Policy explains how we use your personal information when we act as a data controller. As far as you use our Service as a natural person, we are the controller of your personal information. We are responsible for, and control, the processing of your personal information.
+
+Wherever our customers use our Service to submit, manage, or otherwise use content relating to our customers’ end users ("**_Customer Data_**") during the provision of our Service, we have contractually committed ourselves to only process such information on behalf and under the instruction of the respective customer, who is the data controller. This Privacy Notice does not apply to such processing and we recommend you read the Privacy Notice of the respective customer, if their processing concerns your personal information.
+
+## Region-specific Disclosures
+
+- **California - Your California Privacy Rights:** If you are a California resident, California Civil Code Section 1798.83 permits you to request information regarding the disclosure of personal information to third parties for their direct marketing purposes during the immediately preceding calendar year. Note we do not share your personal information with third parties for their own marketing purposes.
+- **Nevada:** Chapter 603A of the Nevada Revised Statutes permits a Nevada resident to opt out of future sales of certain covered information that a website operator has collected or will collect about the resident. Note we do not sell your personal information within the meaning of Chapter 603A. However, if you would still like to submit such a request, please contact us at support@supabase.io.
+- **European Economic Area, United Kingdom or Switzerland:** If you are located in the European Economic Area ("**_EEA_**"), United Kingdom or Switzerland, or otherwise engage with Supabase’s European operations, please see the **Privacy Disclosures for the European Economic Area, United Kingdom and Switzerland** for additional European-specific privacy disclosures, including what constitutes your personal information, the lawful bases we rely on to process your personal information, how we use cookies when you access our Sites from the EEA, UK or Switzerland and your rights in respect of your personal information.
+
+**Note for International Visitors:** Personal information may be transferred to, stored and processed in a country other than the one in which it was collected. For example, the Sites are primarily hosted in and provided from the United States. Please note the country to which personal data is transferred may not provide the same level of protection for personal information as the country from which it was transferred.
+
+## 1. Information we collect and our use
+
+We collect personal information in connection with your visits to and use of the Service. This collection includes information that you provide in connection with the Service, information from third parties, and information that is collected automatically such as through the use of cookies and other technologies.
+
+### Information That You Provide
+
+We collect personal information from you. The categories of information we collect can include:
+
+- **_Registration information._** We collect personal and/or business information that you provide when you register for an account at the Site. This information may include your name, email address, GitHub username. We use this information to administer your account, provide you with the relevant services and information, communicate with you regarding your account, the Site and for customer support purposes.
+- **_Information collected through the Use of the Service._** After registration, you may create, upload or transmit files, documents, videos, images, data or information as part of your use of the Service (collectively, "**_User Content_**"). User Content and any information contained in the User Content, including personal information you may have included, is stored and collected as part of the Service. You have full control of the information included in the User Content.
+- **_Payment information._** If you make a purchase or payment on the Site, such as for a subscription, we collect transactional information provided in connection with your purchase or payment. Please note that we use third party payment processors, including Stripe, to process payments made to us. As such, we do not retain any personally identifiable financial information such as credit card numbers. Rather, all such information is provided directly by you to our third-party processor. The payment processor’s use of your personal information is governed by their privacy notice. To view Stripe’s privacy notice, please visit: .
+- **_Communications._** If you communicate with us through any paper or electronic form, we may collect your name, email address, mailing address, phone number, or any other personal information you choose to provide to us. We use this information to investigate and respond to your inquiries, and to communicate with you, to enhance the services we offer to our users and to manage and grow our organization. If you register for our newsletters or updates, we may communicate with you by email. To unsubscribe from promotional messages, please follow the instructions within our messages and review the **Control Over Your Information** section below. If you become a contributor, we may also collect your GitHub name and feature you on our website.
+- **_Inquiries and Feedback._** If you contact us, we will collect the information that you provide us, such as your contact information and the contents of your communication with us.
+
+You are free to choose which personal information you want to provide to us or whether you want to provide us with personal information at all. However, some information, such as your name, address, payment transaction information, and information on your requested Services may be necessary for the performance of our contractual obligations.
+
+### Information from Third Party Sources
+
+We may receive personal information about you from our business partners and service providers and combine this information with other data we collect from you. The third-parties may include website and service operators, payment processors, marketing partners, and shipping providers. The information may include contact information, demographic information, information about your communications and related activities, and information about your orders. We may use this information to administer and facilitate our services, your orders and our marketing activities.
+
+- **_Single Sign-On._** We use single sign-on ("**SSO**") such as Github to allow a user to authenticate their account using one set of login information. We will have access to certain information from those third parties in accordance with the authorization procedures determined by those third parties, including, for example, your name, username, email address, language preference, and profile picture. We use this information to operate, maintain, and provide to you the features and functionality of the Service. We may also send you service-related emails or messages (e.g., account verification, purchase confirmation, customer support, changes or updates to features of the Site, technical and security notices).
+- **_Social Media._** When you interact with our Site through various social media, such as when you click on the social media icon on the Site, follow us on a social media site, or post a comment to one of our pages, we may receive information from the social network such as your profile information, profile picture, gender, user name, user ID associated with your social media account, age range, language, country, and any other information you permit the social network to share with third parties. The data we receive is dependent upon your privacy settings with the social network. We use this information to operate, maintain, and provide to you the features and functionality of the Service, as well as to communicate directly with you, such as to send you email messages about products and services that may be of interest to you.
+- **_Employment Applications._** If you apply for employment, we collect your contact and demographic information, educational and work history, employment interests, information obtained during interviews and any other information you choose to provide. We use the information provided to evaluate your candidacy for employment, to communicate with you during the application process and to facilitate the onboarding process.
+- **_Information from Other Sources._** We may obtain information from other sources, including through third-party information providers, our shareholders, customers, or through transactions such as mergers and acquisitions. We may combine this information with other information we collect from or about you. In these cases, our Privacy Notice governs the handling of the combined personal information. We use this information to operate, maintain, and provide to you the features and functionality of the Service, as well as to communicate directly with you, such as to send you email messages about products and services that may be of interest to you.
+
+### Other Uses of Personal Information
+
+In addition to the uses described above, we may collect and use personal information for the following purposes:
+
+- For our business activities, including to operate the Service and to provide you with the features and functionality of the Service;
+- To communicate with you and respond to your requests, such as to respond to your questions, contact you about changes to the Service, and communicate about account related matters;
+- For marketing and advertising purposes, such as to market to you or offer you with information and updates on our products or services we think that you may be interested in. While we may use your personal information in this manner, please note that we do not use User Content to serve you ads, and we will never share User Content with any third parties for marketing or advertising purposes, unless you have explicitly submitted it to us for that purpose;
+- For analytics and research purposes;
+- To enforce our **Terms of Service**, to resolve disputes, to carry out our obligations and enforce our rights, and to protect our business interests and the interests and rights of third parties;
+- To comply with contractual and legal obligations and requirements;
+- To fulfill any other purpose for which you provide personal information; and
+- For any other lawful purpose, or other purpose that you consent to.
+
+## 2. How we share personal information
+
+We may share your personal information in the instances described below. For further information on your choices regarding your information, see **Control Over Your Information**.
+
+- We may share your personal information with third-party service providers or business partners who help us deliver or improve our Site or services, or who perform services on our behalf, which are subject to reasonable confidentiality terms, and may include processing payments, providing web hosting services, or providing analytics.
+- Third parties as required by law or subpoena or if we reasonably believe that such action is necessary to (a) comply with the law and the reasonable requests of law enforcement; (b) to enforce our **Terms of Service** or other agreements or to protect the security or integrity of the Supabase services, including to prevent harm or financial loss, or in connection with preventing fraud or illegal activity; and/or (c) to exercise or protect the rights, property, or personal safety of Supabase, our Customers, visitors, or others.
+- We may share with other companies and brands owned or controlled by Supabase, and other companies owned by or under common ownership as Supabase. These companies will use your personal information in the same way as we can under this Privacy Notice.
+- We may transfer any information we collect in the event we sell or transfer all or a portion of our business or assets (including any shares in the company) or any portion or combination of our products, services, businesses and/or assets. Should such a transaction occur (whether a divestiture, merger, acquisition, bankruptcy, dissolution, reorganization, liquidation, or similar transaction or proceeding), we will use reasonable efforts to ensure that any transferred information is treated in a manner consistent with this Privacy Notice.
+- We may disclose your information publicly or with another third party with your prior authorization.
+- With others in an aggregated or otherwise anonymized form that does not reasonably identify you directly as an individual.
+
+## 3. Control over your information
+
+### Email Communications
+
+From time to time, we may send you emails regarding updates to our Service, products or services, notices about our organization, or information about products/services we offer (or promotional offers from third parties) that we think may be of interest to you. If you wish to unsubscribe from such emails, simply click the "unsubscribe link" provided at the bottom of the email communication. Note that you cannot unsubscribe from certain services-related email communications (e.g., account verification, confirmations of transactions, technical or legal notices).
+
+### Modifying Account Information
+
+If you have an online account with us, you have the ability to modify certain information in your account (e.g., your contact information) through the account options provided on the Site. If there is personal information in your User Content, you can use the features and functionality of the Service to edit or delete the personal information or User Content. Not all personal information is maintained in a format that you can access or change. If you would like to request access to, or correction or deletion of personal information, you may send your request to us at the email provided below. We will review your request and may require you to provide additional information to identify yourself, but we do not promise that we will be able to satisfy your request.
+
+## 4. How We Use Cookies and Other Tracking Technology to Collect Information
+
+We, and our third-party partners, automatically collect certain types of usage information when you visit our Site, read our emails, or otherwise engage with us. We typically collect this information through a variety of tracking technologies, including cookies, web beacons, embedded scripts, location-identifying technologies, file information, and similar technology (collectively, "**tracking technologies**").
+
+We, and our third-party partners, use tracking technologies to automatically collect usage and device information, such as:
+
+- Information about your device and its software, such as your IP address, browser type, Internet service provider, device type/model/manufacturer, operating system, date and time stamp, and a unique ID that allows us to uniquely identify your browser or your account (including, for example, a persistent device identifier), and other such information.
+- When you access our sites from a mobile device, we may collect unique identification numbers associated with your device or our mobile application mobile carrier, device type, model and manufacturer, mobile device operating system brand and model, and depending on your mobile device settings, we may be able to approximate a device’s location by analyzing other information, like an IP address.
+- Information about the way you access and use our services, for example, the site from which you came and the site to which you are going when you leave our services, the pages you visit, the links you click, whether you open emails or click the links contained in emails, whether you access the services from multiple devices, and other actions you take on the Sites.
+
+We use the data collected through tracking technologies to: (a) remember information so that you will not have to re-enter it during your visit or the next time you visit the site; (b) provide custom content and information; (c) identify you across multiple devices; (d) provide and monitor the effectiveness of our services; (e) monitor aggregate metrics such as total number of visitors, traffic, usage, and demographic patterns on our Site; (f) diagnose or fix technology problems; and (g) to provide, plan for, and enhance our services.
+
+**Note we do not engage in online targeted advertising.**
+
+**Cookies and Other Tracking Technologies Opt-Out.** Depending on your browser or mobile device, you may be able to set your browser to delete or notify you of cookies and other tracking technology by actively managing the settings on your browser or mobile device.
+
+If you would prefer not to accept cookies, most browsers will allow you to: (i) change your browser settings to notify you when you receive a cookie, which lets you choose whether or not to accept it; (ii) disable existing cookies; or (iii) set your browser to automatically reject cookies. Please note that doing so may negatively impact your experience using the sites, as some features and services on our sites may not work properly. Depending on your mobile device and operating system, you may not be able to delete or block all cookies. You may also set your e-mail options to prevent the automatic downloading of images that may contain technologies that would allow us to know whether you have accessed our e-mail and performed certain functions with it.
+
+## 5. Data Retention and Security
+
+We will retain your personal information for the length of time needed to fulfill the purposes outlined in this Privacy Notice, unless a longer retention period is required or permitted by law. We store data on servers in the U.S. or any other country in which Supabase or its affiliates, subsidiaries, agents or contractors maintain facilities. If you are located in the European Union or other regions with laws governing data collection and use that may differ from U.S. law, please note that your personal information may be transferred to a country and jurisdiction that does not have the same data protection laws as your jurisdiction. When you register for use with Supabase you have the option of where you store your information and we will not transfer it without providing information to you in advance.
+
+Supabase cares about the security of your information and uses commercially reasonable physical, technical and organizational measures designed to preserve the integrity and security of all information we collect. However, no security system is impenetrable, and we cannot guarantee the security of our systems 100%. In the event that any information under our control is compromised as a result of a breach of security, we will take reasonable steps to investigate the situation and where appropriate, notify those individuals whose information may have been compromised and take other steps, in accordance with any applicable laws and regulations.
+
+## 6. Links to Third-Party Websites and Services
+
+For your convenience, our Site may provide links to third-party websites or services that we do not own or operate. We are not responsible for the practices employed by any websites or services linked to or from the services, including the information or content contained within them. Your browsing and interaction on any other website or service are subject to the applicable third party’s rules and policies, not ours. If you are using a third-party website or service, you do so at your own risk. We encourage you to review the privacy policies of any site or service before providing any personal information.
+
+## 7. Children’s Privacy
+
+Our services are not intended for children under the age of 13. We do not knowingly solicit or collect personal information from children under the age of 13. If we learn that any personal information has been collected inadvertently from a child under 13, we will delete the information as soon as possible. If you believe that we might have collected information from a child under 13, please contact us at privacy@supabase.io.
+
+## 8. Changes to Privacy Notice
+
+We reserve the right to change this Privacy Notice from time to time in our sole discretion. We will notify you about material changes in the way we treat personal data by sending a notice to the primary email address specified in your Supabase account and/or by placing a prominent notice on our Site. It is your responsibility to review this Privacy Notice periodically. When we do change the Privacy Notice, we will also revise the "last modified" date.
+
+## 9. Contact Us
+
+For additional inquiries about this Privacy Notice, please send us an email at privacy@supabase.io.
+
+This Privacy Notice was last modified on 27th March 2021
+
+## Privacy disclosures for the European economic area, United Kingdom, and Switzerland.
+
+While we are primarily based in the United States, Supabase maintains operations in Europe and may direct our services to individuals located in the European Economic Area ("**_EEA_**"), United Kingdom and Switzerland, including through our Site [supabase.io](/) (collectively, our "**_European Services_**"). The following disclosures ("**_Privacy Disclosures_**") apply to our processing of personal data in connection with our European Services.
+
+Supabase, Inc. is the data controller responsible for the processing of personal data in connection with our European Services. This means that we determine and are responsible for how your personal information is used.
+
+**Personal Data:** When we use the term "personal data" in this section, we mean information relating to an identified or identifiable natural person.
+
+### 1. Personal data we collect from you when you use the Supabase European Services, and how we use it.
+
+We collect the categories of personal data that you voluntarily submit directly to us when you use the European Services, as set forth in our Privacy Notice under the section entitled **Information We Collect and Our Use**. The table at **Annex 1** sets out in detail the categories of personal data we collect about you and how we use that information when you use the European Services, as well as the legal basis which we rely on to process the personal information and recipients of that personal information.
+
+### 2. Information we collect about you automatically.
+
+We also automatically collect personal information indirectly about how you access and use the European Services, and information about the device you use to access the European Services. For example, we may collect:
+
+(a) information about the features you use and the pages you view on the European Services;
+
+(b) information about your device (such as your IP address, device identifier, device type, model and manufacturer); and
+
+(c) information about your usage patterns (such as how often you use the Supabase European Services and your language settings).
+
+We use this information to provide you the features and functionality of the European Services, to monitor and improve the European Services and to develop new services.
+
+The table at **Annex 2** sets out further information about the categories of personal information we collect about you automatically and how we use that information. The table also lists the legal basis which we rely on to process the personal information and recipients of that personal information.
+
+We may link or combine the personal information we collect about you and the information we collect automatically.
+
+We may anonymise and aggregate any of the personal information we collect (so that it does not directly identify you). We may use anonymised information for purposes that include testing our IT systems, research, data analysis, improving the Supabase European Services. We may also share such anonymised and aggregated information with others.
+
+### 3. How long will we store your personal information
+
+We will usually store the personal information we collect about you for no longer than necessary for the purposes set out in Annex 1 and Annex 2, in accordance with our legal obligations and legitimate business interests.
+
+The criteria used to determine the period for which personal information about you will be retained varies depending on the legal basis under which we process the personal information:
+
+1. **Legitimate Interests.** Where we are processing personal information based on our legitimate interests, we generally will retain such information for a reasonable period of time based on the particular interest, taking into account the fundamental interests and the rights and freedoms of data subjects.
+2. **Consent.** Where we are processing personal information based on your consent, we generally will retain the information until you withdraw your consent, or otherwise for the period of time necessary to fulfill the underlying agreement with you or provide you with the applicable service for which we process that personal information.
+3. **Contract.** Where we are processing personal information based on contract, we generally will retain the information for the duration of the contract plus some additional limited period of time that is necessary to comply with law or that represents the statute of limitations for legal claims that could arise from the contractual relationship.
+4. **Legal Obligation.** Where we are processing personal information based on a legal obligation, we generally will retain the information for the period of time necessary to fulfill the legal obligation.
+5. **Legal Claim.** We may need to apply a "legal hold" that retains information beyond our typical retention period where we face threat of legal claim. In that case, we will retain the information until the hold is removed, which typically means the claim or threat of claim has been resolved.
+
+In all cases, in addition to the purposes and legal bases, we consider the amount, nature and sensitivity of the personal information, as well as the potential risk of harm from unauthorized use or disclosure of your personal information.
+
+### 4. Recipients of Personal Information
+
+In addition to the recipients listed in Annexes 1 and 2, we may also share your personal information with the following (as required in accordance with the uses set out in Annexes 1 and 2):
+
+1. **Service providers and advisors**: we may share your personal information with third party vendors and other service providers that perform services for us or on our behalf, which may include providing professional services, such as legal and accounting services, mailing, email or chat services, fraud prevention, web hosting, or providing analytic services.
+2. **Affiliates**. Other companies owned by or under common ownership as Supabase, including our subsidiaries (i.e., any organization we own or control) and our ultimate holding company (i.e., any organization that owns or controls us) and any subsidiaries it owns. These companies will use your personal information in the same way as we can under these Privacy Disclosures.
+3. **Purchasers and third parties in connection with a business transaction**: your personal information may be disclosed to third parties in connection with a transaction, such as a merger, sale of assets or shares, reorganization, financing, change of control or acquisition of all or a portion of our business.
+4. **Law enforcement, regulators and other parties for legal reasons**: we may share your personal information with third parties as required by law or if we reasonably believe that such action is necessary to (i) comply with the law and the reasonable requests of law enforcement; (ii) detect and investigate illegal activities and breaches of agreements, including our Terms; and/or (iii) exercise or protect the rights, property, or personal safety of Supabase, its users or others.
+
+### 5. Marketing and Advertising
+
+From time to time we may contact you with information about our services, including sending you marketing messages and asking for your feedback on our services. Most marketing messages we send will be by email. For some marketing messages, we may use personal information we collect about you to help us determine the most relevant marketing information to share with you.
+
+We will only send you marketing messages if you have given us your consent to do so. You can withdraw your consent at a later date by clicking on the unsubscribe link at the bottom of our marketing emails or by updating your preferences via your account on the Site.
+
+### 6. Storing and transferring your personal information
+
+**Security**. We implement appropriate technical and organizational measures to protect your personal information against accidental or unlawful destruction, loss, change or damage. All personal information we collect will be stored by our cloud hosting provider on secure servers. We will never send you unsolicited emails or contact you by phone requesting credit or debit card information or national identification numbers.
+
+**International Transfers of your Personal Information**. The personal information we collect may be transferred to and stored in countries outside of the jurisdiction you are in where we and our third party service providers have operations. If you are located in the EEA, United Kingdom or Switzerland, your personal information may be processed outside of those regions, including in the United States.
+
+In the event of such a transfer, we ensure that: (i) the personal information is transferred to countries recognized as offering an equivalent level of protection; or (ii) the transfer is made pursuant to appropriate safeguards, such as standard data protection clauses adopted by the European Commission.
+
+If you wish to enquire further about these safeguards used, please contact us using the details set out at the end of these Privacy Disclosures.
+
+### 7. Profiling
+
+We may analyze personal data we have collected about you to create a profile of your interests and send product updates. We may also use personal data about you to detect and reduce fraud.
+
+### 8. Your rights in respect of your personal information
+
+In accordance with applicable privacy law, you have the following rights in respect of your personal information that we hold:
+
+1. **Right of access**. You have the right to obtain:
+ 1. confirmation of whether, and where, we are processing your personal information;
+ 2. information about the categories of personal information we are processing, the purposes for which we process your personal information and information as to how we determine applicable retention periods;
+ 3. information about the categories of recipients with whom we may share your personal information; and
+ 4. a copy of the personal information we hold about you.
+2. **Right of portability**. You have the right, in certain circumstances, to receive a copy of the personal information you have provided to us in a structured, commonly used, machine-readable format that supports re-use, or to request the transfer of your personal data to another person.
+3. **Right to rectification**. You have the right to obtain rectification of any inaccurate or incomplete personal information we hold about you without undue delay.
+4. **Right to erasure**. You have the right, in some circumstances, to require us to erase your personal information without undue delay if the continued processing of that personal information is not justified.
+5. **Right to restriction**. You have the right, in some circumstances, to require us to limit the purposes for which we process your personal information if the continued processing of the personal information in this way is not justified, such as where the accuracy of the personal information is contested by you.
+6. **Right to withdraw consent**. There are certain circumstances where we require your consent to process your personal information. In these instances, and if you have provided consent, you have the right to withdraw your consent. If you withdraw your consent, this will not affect the lawfulness of our use of your personal information before your withdrawal.
+
+**You also have the right to object to any processing based on our legitimate interests where there are grounds relating to your particular situation. There may be compelling reasons for continuing to process your personal information, and we will assess and inform you if that is the case. You can object to marketing activities for any reason.**
+
+You also have the right to lodge a complaint to your local data protection authority. If you are based in the European Union, information about how to contact your local data protection authority is available [here](http://ec.europa.eu/justice/data-protection/bodies/authorities/index_en.htm). If you are based in the UK or Switzerland, your local data protection authorities are the UK Information Commissioner's Office () and the Swiss Federal Data Protection and Information Commissioner ().
+
+If you wish to exercise one of these rights, please contact us using the contact details at the end of these Privacy Disclosures.
+
+Due to the confidential nature of data processing we may ask you to provide proof of identity when exercising the above rights. This can be done by providing a scanned copy of a valid identity document or a signed photocopy of a valid identity document.
+
+### 9. Cookies and similar technologies used on our European Services
+
+Our European Services uses cookies and similar technologies such as pixels and Local Storage Objects (LSOs) like HTML5 (together "**_cookies_**") to distinguish you from other users of our European Services. This helps us to provide you with a good experience when you browse our European Services and also allows us to monitor and analyse how you use and interact with our European Services so that we can continue to improve our European Services.
+
+Cookies are pieces of code that allow for personalization of our European Services experience by saving your information such as user ID and other preferences. A cookie is a small data file that we transfer to your computer's hard disk for record-keeping purposes.
+
+We use the following types of cookies:
+
+1. **Strictly necessary cookies**. These are cookies that are required for the operation of our European Services. They include, for example, cookies that enable you to log into secure areas of our European Services.
+
+Please see **Annex 3** for more information about the cookies we use on the European Services.
+
+Most browsers also allow you to change your cookie settings to block certain cookies. Depending on your mobile device and operating system, you may not be able to delete or block all cookies. Please note that if you choose to refuse all cookies you may not be able to use the full functionality of our European Services. These settings will typically be found in the "options" or "preferences" menu of your browser. In order to understand these settings, the following links may be helpful, otherwise you should use the "Help" option in your browser for more details.
+
+- [Cookie settings in Internet Explorer](https://support.microsoft.com/en-gb/help/278835/how-to-delete-cookie-files-in-internet-explorer)
+- [Cookie settings in Firefox](http://support.mozilla.org/en-US/kb/cookies)
+- [Cookie settings in Chrome](https://support.google.com/chrome/answer/95647?hl=en)
+- [Cookies settings in Safari web](https://support.apple.com/en-gb/guide/safari/manage-cookies-and-website-data-sfri11471/mac) and [iOS](https://support.apple.com/en-gb/HT201265).
+
+If you would like to find out more about cookies and other similar technologies, please visit [allaboutcookies.org](http://www.allaboutcookies.org).
+
+Please note that deleting or blocking cookies may not be effective for all types of tracking technologies, such as Local Storage Objects (LSOs) like HTML5.
+
+### 10. Tracking technologies used in our emails
+
+Our emails may contain tracking pixels that identify if and when you have opened an email that we have sent you, how many times you have read it and whether you have clicked on any links in that email. This helps us measure the effectiveness of our marketing email campaigns, make the emails we send to you more relevant to your interests and to understand if you have opened and read any important administrative emails we might send you.
+
+Most popular email clients will allow you to block these pixels by disabling certain external images in emails. You can do this through the settings on your email client – these generally give you the option of choosing whether emails will display "remote images", "remote content" or "images" by default.
+
+Some browsers also give you the option of downloading and installing extensions that block pixels and other tracking technologies.
+
+## Annex 1 – Personal information you provide to us
+
+| **Category of Personal Information** | **How we may use the Personal Information** | **Legal Bases for Processing** | **Recipients of Personal Information** |
+| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| **Contact information**, such as first name, last name and email address. | We may use this information to set up and authenticate your account on the Service. | The processing is necessary for the performance of a contract with you and to take steps prior to entering into a contract with you, namely our Terms of Service. |
We may share this information with the following service providers through the provision of the Service: Segment, Auth0, Stripe, Intercom, Hubspot, Mixpanel, Notion, Slack, Amazon Web Services, and BigQuery (Google Cloud).
|
+| | We may use this information to communicate with you, including sending service-related communications. | The processing is necessary for the performance of a contract with you, namely our Terms of Service. | |
+| | We may use this information to deal with enquiries and complaints made by or about you relating to the Service. | The processing is necessary for our legitimate interests, namely administering the Service, and for communicating with you effectively to respond to your queries or complaints. | |
+| | We may use this information in connection with providing you with marketing communications in accordance with your preferences. | We will only use your personal information in this way to the extent you have given us consent to do so. | |
+| **Your registration / account information** such as your full name, email, and password. |
We may use this information to create your account on the Service.
|
The processing is necessary for the performance of a contract with you.
|
We may share this information with the following service providers through the provision of the Service: Segment, Auth0, Stripe, Amazon Web Services.
|
+| |
We use this information to deal with enquiries and complaints made by or about you relating to the Service.
| The processing is necessary for our legitimate interests, namely for communicating with our members effectively to respond to any queries or complaints. | |
+| **Payment transaction information.** When you make a purchase, we may collect information such as your billing address and other information such as date and time of your transaction. |
We may use this information to process your orders through the Service.
| The processing is necessary for the performance of a contract. |
We may share this information with the following service providers through the provision of the Service: Stripe, and Amazon Web Services.
|
+| | We may use this information to verify your identity in connection with the detection and prevention of fraud or financial crime. | The processing is necessary for our and third partiers' legitimate interests, namely the detection and prevention of fraud and financial crime. | |
+| **Approximate Location information.** When you visit our Service, we may collect information about your location. This information may be derived from WiFi positioning or your IP address. | We may use information to present the Service to you on your device. | The processing is necessary for performance of a contract with you. |
We may share this information with the following service providers through the provision of the Service: Sentry, BigQuery (Google Cloud), and Amazon Web Services.
|
+| | We may use this information to localise features of the Service. | The processing is necessary for our legitimate interest, namely localising features of the Service and tailoring the Service so that it is more relevant to our users. | |
+| | We may use this information to determine content that may be of interest to you. | The processing is necessary for our legitimate interests, namely tailoring the Service so that it is more relevant to you. | |
+| **Chat, comments and opinions.** When you contact us directly, e.g. by email or phone we will record your comments and opinions. | We may use this information to address your questions, issues and concerns. | The processing is necessary for our legitimate interests, namely communicating with you and responding to queries, complaints and concerns. |
We may share this information with the following service providers through the provision of the Service: Intercom, Hubspot, Google Gsuite, and Slack.
|
+| | We may use this information to improve the Service. | The processing is necessary for our legitimate interests (to develop and improve our service). | |
+| **Information received from third parties, such as social networks.** If you interact with us through a social network, we may receive information from the social network such as your name, profile information, and any other information you permit the social network to share with third parties. We use single sign-on ("**_SSO_**") such as Github to allow a user to authenticate their account using one set of login information. The data we receive is dependent on your privacy settings with the social network. | We may use this information to reshare content created through the use of the Service | The processing is necessary for our legitimate interests (to develop our service and inform our marketing strategy) | We may share this information with the following service providers through the provision of the Service: Auth0 and Slack. |
+| |
We may use this information to authenticate you and allow you to access the Service.
| The processing is necessary for the performance of a contract with you. | |
+| **Your preferences**, such as preferences set for notifications, marketing communications, how the Service is displayed and the active functionalities on the Service. |
We use this information to provide notifications, send news, alerts and marketing communications and provide the Service in accordance with your choices.
|
The processing is necessary for our legitimate interest, namely ensuring the user receives the correct marketing and other communications, and that this is displayed in accordance with the user's preferences.
| We may share this information with the following service providers through the provision of the Service: Segment, Intercom and Hubspot. |
+| |
We use this information to ensure that we comply with our legal obligation to send only those marketing communications to which you have consented.
| The processing is necessary for compliance with a legal obligation to which we are subject. | |
+
+## Annex 2 – Personal information collected automatically
+
+| **Category of personal information** | **How we may use it** | **Legal basis for the processing** | **Recipients of Personal Data** |
+| :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| **Approximate location information.** Other than information you choose to provide to us, we do not collect information about your precise location. Your device’s IP address may however help us determine an approximate location. | We may use information you provide to us about your location to monitor and detect fraud or suspicious activity in relation to your Supabase account. | The processing is necessary for our legitimate interests, namely to protect our business and your account from fraud and other illegal activities. |
**Approximate location information:** We may share this information with the following service providers through the provision of the Service: Sentry, BigQuery (Google Cloud), and Amazon Web Services.
**Information about how you access and use the Service.** We may share this information with the following service providers through the provision of the Service: Segment, Mixpanel, Intercom, Hubspot, BigQuery (Google Cloud), and Amazon Web Services.
**Log files and information about your device.** We may share this information with the following service providers through the provision of the Service: Segment, Mixpanel, Intercom, Hubspot, Sentry, BigQuery (Google Cloud), and Amazon Web Services.
|
+| | We may use this information to tailor how the Service is displayed to you (such as the language in which it is provided to you). | The processing is necessary for our legitimate interest, namely tailoring our service so that it is more relevant to our users. | |
+| **Information about how you access and use the Service.** For example, how frequently you access the Service, the time you access the Service and how long you use it for, the approximate location that you access the Service from, the site from which you came and the site to which you are going when you leave our website, the website pages you visit, the links you click, whether you open emails or click the links contained in emails, whether you access the Service from multiple devices, and other actions you take on the Service. |
We may use information about how you use and connect to the Service to present the Service to you on your device.
| The processing is necessary for our legitimate interests, namely to tailor the Service to the user. | |
+| | We may use this information to determine products and services that may be of interest to you for marketing purposes. | The processing is necessary for our legitimate interests, namely to inform our direct marketing. | |
+| |
We may use this information to monitor and improve the Service and business, resolve issues and to inform the development of new products and services.
| The processing is necessary for our legitimate interests, namely to monitor and resolve issues with the Service and to improve the Service generally. | |
+| **Log files and information about your device.** We also collect information about the tablet, smartphone or other electronic device you use to connect to the Service. This information can include details about the, operating systems, browsers and applications connected to the Service through the device and your IP address. |
We may use information about how you use and connect to the Service to present the Service to you on your device.
| The processing is necessary for our legitimate interests, namely to tailor the Service to the user. | |
+| |
We may use this information to monitor and improve the Service and business, resolve issues and to inform the development of new products and services.
| The processing is necessary for our legitimate interests, namely to monitor and resolve issues with the Service and to improve the Service generally. | |
+
+## Annex 3 - Cookies
+
+| **Cookie Name** | **Type of cookie** | **How long does the cookie stay on my device?** | **Purpose of the cookie** |
+| :----------------------------- | :----------------- | :---------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
+|
Privacy-enhanced cookie, essential for embedded videos. [Link.](https://support.google.com/youtube/answer/171780)
Privacy Enhanced Mode allows you to embed YouTube videos without using cookies that track viewing behavior. This means no activity is collected to personalize the viewing experience.
|
diff --git a/apps/temp-docs/docs/company/terms.mdx b/apps/temp-docs/docs/company/terms.mdx
new file mode 100644
index 00000000000..f3cd9dd3537
--- /dev/null
+++ b/apps/temp-docs/docs/company/terms.mdx
@@ -0,0 +1,237 @@
+---
+id: terms
+title: Terms of Service
+---
+
+# Terms of Service
+
+`Last Modified: 20 November 2020`
+
+These Customer Terms and Conditions (this "**Agreement**"), effective as of the date on which you click a button or check a box (or something similar) acknowledging your acceptance of this Agreement (the "**Effective Date**"), is by and between Supabase, Inc., a Delaware corporation with offices located at 970 Toa Payoh North #07-04, Singapore 318992 ("**Supabase**") and the entity on whose behalf the individual accepting this Agreement accepts this Agreement ("**Customer**"). The individual accepting this Agreement hereby represents and warrants that it is duly authorized by the entity on whose behalf it accepts this Agreement to so accept this Agreement. Supabase and Customer may be referred to herein collectively as the "**Parties**" or individually as a "**Party**." The Parties agree as follows:
+
+## 1. Definitions.
+
+1. "**Aggregated Data**" means data and information related to or derived from Customer Data or Customer's use of the Services that is used by Supabase in an aggregate and anonymized manner, including to compile statistical and performance information related to the Services.
+2. "**Authorized User**" means Customer's employees, consultants, contractors, and agents (i) who are authorized by Customer to access and use the Services under the rights granted to Customer pursuant to this Agreement; and (ii) for whom access to the Services has been purchased hereunder.
+3. "**Customer Data**" means information, data, and other content, in any form or medium, that is submitted, posted, or otherwise transmitted by or on behalf of Customer or an Authorized User through the Services; provided that, for purposes of clarity, Customer Data does not include Aggregated Data.
+4. "**Documentation**" means Supabase's end user documentation relating to the Services available at [supabase.io](https://supabase.com).
+5. "**Harmful Code**" means any software, hardware, or other technology, device, or means, including any virus, worm, malware, or other malicious computer code, the purpose or effect of which is to permit unauthorized access to, or to destroy, disrupt, disable, distort, or otherwise harm or impede in any manner any (i) computer, software, firmware, hardware, system, or network; or (ii) any application or function of any of the foregoing or the security, integrity, confidentiality, or use of any data processed thereby.
+6. "**Order**" means: (i) the purchase order, order form, or other ordering document entered into by the Parties that incorporates this Agreement by reference; or (ii) if Customer registered for the Services through Supabase's online ordering process, the results of such online ordering process.
+7. "**Personal Information**" means any information that, individually or in combination, does or can identify a specific individual or by or from which a specific individual may be identified, contacted, or located, including without limitation all data considered "personal data", "personally identifiable information", or something similar under applicable laws, rules, or regulations relating to data privacy.
+8. "**Supabase IP**" means the Services, the Documentation, and any and all intellectual property provided to Customer or any Authorized User in connection with the foregoing. For the avoidance of doubt, Supabase IP includes Aggregated Data and any information, data, or other content derived from Supabase's provision of the Services but does not include Customer Data.
+9. "**Services**" means Supabase's proprietary hosted software platform, as made available by Supabase to Authorized Users from time to time.
+10. "**Subscription Period**" means the time period identified on the Order during which Customer's Authorized Users may access and use the Services.
+11. "**Third-Party Products**" means any third-party products provided with, integrated with, or incorporated into the Services.
+12. "**Usage Limitations**" means the usage limitations set forth in this Agreement and the Order, including without limitation any limitations on the number of Authorized Users (if any), and the applicable product, pricing, and support tiers agreed-upon by the Parties.
+
+## 2. Access and Use.
+
+### 1. Provision of Access.
+
+Subject to and conditioned on Customer's compliance with the terms and conditions of this Agreement, including without limitation the Usage Limitations, Supabase will make available to Customer during the Subscription Period, on a non-exclusive, non-transferable (except in compliance with Section 13.8), and non-sublicensable basis, access to and use of the Services, solely for use by Authorized Users. Such use is limited to Customer's internal business purposes and the features and functionalities specified in the Order. Supabase shall provide to Customer the necessary access credentials to allow Customer to access the Services.
+
+### 2. Documentation License.
+
+Subject to and conditioned on Customer's compliance with the terms and conditions of this Agreement, Supabase hereby grants to Customer a non-exclusive, non-transferable (except in compliance with Section 13.8), and non-sublicensable license to use the Documentation during the Subscription Period solely for Customer's internal business purposes in connection with its use of the Services.
+
+### 3. Use Restrictions.
+
+Customer shall not use the Services for any purposes beyond the scope of the access granted in this Agreement. Customer shall not at any time, directly or indirectly, and shall not permit any Authorized Users to: (i) copy, modify, or create derivative works of any Supabase IP, whether in whole or in part; (ii) rent, lease, lend, sell, license, sublicense, assign, distribute, publish, transfer, or otherwise make available the Services or Documentation to any third party; (iii) reverse engineer, disassemble, decompile, decode, adapt, or otherwise attempt to derive or gain access to any software component of the Services, in whole or in part; (iv) remove any proprietary notices from any Supabase IP; (v) use any Supabase IP in any manner or for any purpose that infringes, misappropriates, or otherwise violates any intellectual property right or other right of any person, or that violates any applicable law; (vi) access or use any Supabase IP for purposes of competitive analysis of Supabase or the Services, the development, provision, or use of a competing software service or product, or any other purpose that is to Supabase's detriment or commercial disadvantage; (vii) bypass or breach any security device or protection used by the Services or access or use the Services other than by an Authorized User through the use of valid access credentials; or (vii) input, upload, transmit, or otherwise provide to or through the Services any information or materials that are unlawful or injurious, or that contain, transmit, or activate any Harmful Code.
+
+### 4. Reservation of Rights.
+
+Supabase reserves all rights not expressly granted to Customer in this Agreement. Except for the limited rights and licenses expressly granted under this Agreement, nothing in this Agreement grants, by implication, waiver, estoppel, or otherwise, to Customer or any third party any intellectual property rights or other right, title, or interest in or to the Supabase IP.
+
+### 5. Suspension.
+
+Notwithstanding anything to the contrary in this Agreement, Supabase may temporarily suspend Customer's and any Authorized User's access to any portion or all of the Services if: (i) Supabase reasonably determines that (A) there is a threat or attack on any of the Supabase IP; (B) Customer's or any Authorized User's use of the Supabase IP disrupts or poses a security risk to the Supabase IP or to any other customer or vendor of Supabase; (C) Customer, or any Authorized User, is using the Supabase IP for fraudulent or illegal activities; (D) subject to applicable law, Customer has ceased to continue its business in the ordinary course, made an assignment for the benefit of creditors or similar disposition of its assets, or become the subject of any bankruptcy, reorganization, liquidation, dissolution, or similar proceeding; or (E) Supabase's provision of the Services to Customer or any Authorized User is prohibited by applicable law; (ii) any vendor of Supabase has suspended or terminated Supabase's access to or use of any Third-Party Products required to enable Customer to access the Services; or (iii) in accordance with Section 5.1 (any such suspension described in subclause (i), (ii), or (iii), a "**Service Suspension**"). Supabase shall use commercially reasonable efforts to provide written notice of any Service Suspension to Customer and to provide updates regarding resumption of access to the Services following any Service Suspension. Supabase shall use commercially reasonable efforts to resume providing access to the Services as soon as reasonably possible after the event giving rise to the Service Suspension is cured. Supabase will have no liability for any damage, liabilities, losses (including any loss of data or profits), or any other consequences that Customer or any Authorized User may incur as a result of a Service Suspension.
+
+### 6. Aggregated Data.
+
+Notwithstanding anything to the contrary in this Agreement, Supabase may monitor Customer's use of the Services and collect and compile Aggregated Data. As between Supabase and Customer, all right, title, and interest in Aggregated Data, and all intellectual property rights therein, belong to and are retained solely by Supabase. Customer acknowledges that Supabase may compile Aggregated Data based on Customer Data input into the Services. Customer agrees that Supabase may (i) make Aggregated Data available to third parties including its other customers in compliance with applicable law, and (ii) use Aggregated Data to the extent and in the manner permitted under applicable law.
+
+## 3. Customer Responsibilities.
+
+### 1. General.
+
+Customer is responsible and liable for all uses of the Services and Documentation resulting from access provided by Customer, directly or indirectly, whether such access or use is permitted by or in violation of this Agreement. Without limiting the generality of the foregoing, Customer is responsible for all acts and omissions of Authorized Users, and any act or omission by an Authorized User that would constitute a breach of this Agreement if taken by Customer will be deemed a breach of this Agreement by Customer. Customer shall use reasonable efforts to make all Authorized Users aware of this Agreement's provisions as applicable to such Authorized User's use of the Services and shall cause Authorized Users to comply with such provisions.
+
+### 2. Third-Party Products.
+
+Supabase may from time to time make Third-Party Products available to Customer or Supabase may allow for certain Third-Party Products to be integrated with the Services to allow for the transmission of Customer Data from such Third-Party Products into the Services. For purposes of this Agreement, such Third-Party Products are subject to their own terms and conditions. If Customer does not agree to abide by the applicable terms for any such Third-Party Products, then Customer should not install or use such Third-Party Products. By authorizing Supabase to transmit Customer Data from Third-Party Products into the Services, Customer represents and warrants to Supabase that it has all right, power, and authority to provide such authorization.
+
+### 3. Customer Control and Responsibility.
+
+Customer has and will retain sole responsibility for: (i) all Customer Data, including its content and use; (ii) all information, instructions, and materials provided by or on behalf of Customer or any Authorized User in connection with the Services; (iii) Customer's information technology infrastructure, including computers, software, databases, electronic systems (including database management systems), and networks, whether operated directly by Customer or through the use of third-party services ("**Customer Systems**"); (iv) the security and use of Customer's and its Authorized Users' access credentials; and (v) all access to and use of the Services directly or indirectly by or through the Customer Systems or its or its Authorized Users' access credentials, with or without Customer's knowledge or consent, including all results obtained from, and all conclusions, decisions, and actions based on, such access or use.
+
+## 4. Support.
+
+During the Subscription Period, Supabase will use commercially reasonable efforts to provide Customer with basic customer support via Supabase's standard support channels during Supabase's normal business hours.
+
+## 5. Fees and Taxes.
+
+### 1. Fees.
+
+Where paid for services are agreed between Supabase and Customer per the Order, Customer shall pay Supabase the fees ("**Fees**") identified in the Order without offset or deduction at the cadence identified in the Order (e.g., monthly or annually). Fees paid by Customer are non-refundable. If Customer fails to make any payment when due, and Customer has not notified Supabase in writing within ten (10) days of the payment becoming due and payable that the payment is subject to a good faith dispute, without limiting Supabase's other rights and remedies: (i) Supabase may charge interest on the undisputed past due amount at the rate of 1.5% per month, calculated daily and compounded monthly or, if lower, the highest rate permitted under applicable law; (ii) Customer shall reimburse Supabase for all reasonable costs incurred by Supabase in collecting any late payments or interest, including attorneys' fees, court costs, and collection agency fees; and (iii) if such failure continues for ten (10) days or more, Supabase may suspend Customer's and its Authorized Users' access to any portion or all of the Services until such amounts are paid in full.
+
+### 2. Taxes.
+
+All Fees and other amounts payable by Customer under this Agreement are exclusive of taxes and similar assessments. Customer is responsible for all sales, use, and excise taxes, and any other similar taxes, duties, and charges of any kind imposed by any federal, state, or local governmental or regulatory authority on any amounts payable by Customer hereunder, other than any taxes imposed on Supabase's income. To the extent that Supabase is required by law to pay any such taxes, duties, or other charges to any governmental or regulatory authority, Supabase may invoice Customer for such taxes, duties, or other charges and Customer will pay such invoiced amounts in accordance with this Agreement.
+
+## 6. Confidential Information.
+
+### 1. Definition.
+
+From time to time during the Subscription Period, either Party may disclose or make available to the other Party information about its business affairs, products, confidential intellectual property, trade secrets, third-party confidential information, and other sensitive or proprietary information, whether orally or in written, electronic, or other form or media that: (i) is marked, designated or otherwise identified as "confidential" or something similar at the time of disclosure or within a reasonable period of time thereafter; or (ii) would be considered confidential by a reasonable person given the nature of the information or the circumstances of its disclosure (collectively, "**Confidential Information**"). Except for Personal Information, Confidential Information does not include information that, at the time of disclosure is: (a) in the public domain; (b) known to the receiving Party at the time of disclosure; (c) rightfully obtained by the receiving Party on a non-confidential basis from a third party; or (d) independently developed by the receiving Party without use of, reference to, or reliance upon the disclosing Party's Confidential Information.
+
+### 2. Duty.
+
+The receiving Party shall not disclose the disclosing Party's Confidential Information to any person or entity, except to the receiving Party's employees, contractors, and agents who have a need to know the Confidential Information for the receiving Party to exercise its rights or perform its obligations hereunder ("**Representatives**"). The receiving Party will be responsible for all the acts and omissions of its Representatives as they relate to Confidential Information hereunder. Notwithstanding the foregoing, each Party may disclose Confidential Information to the limited extent required (i) in order to comply with the order of a court or other governmental body, or as otherwise necessary to comply with applicable law, provided that the Party making the disclosure pursuant to the order shall first have given written notice to the other Party and made a reasonable effort to obtain a protective order; or (ii) to establish a Party's rights under this Agreement, including to make required court filings. Further, notwithstanding the foregoing, each Party may disclose the terms and existence of this Agreement to its actual or potential investors, debtholders, acquirers, or merger partners under customary confidentiality terms.
+
+### 3. Return of Materials; Effects of Termination/Expiration.
+
+On the expiration or termination of the Agreement, the receiving Party shall promptly return to the disclosing Party all copies, whether in written, electronic, or other form or media, of the disclosing Party's Confidential Information, or destroy all such copies and certify in writing to the disclosing Party that such Confidential Information has been destroyed. Each Party's obligations of non-use and non-disclosure with regard to Confidential Information are effective as of the Effective Date and will expire three (3) years from the date of termination or expiration of this Agreement; provided, however, with respect to any Confidential Information that constitutes a trade secret (as determined under applicable law), such obligations of non-disclosure will survive the termination or expiration of this Agreement for as long as such Confidential Information remains subject to trade secret protection under applicable law.
+
+## 7. Personal Information.
+
+Customer will ensure that its Customer Data, and its use of such Customer Data, complies with this Agreement and any applicable law. Customer is responsible for properly configuring and using the Services and taking its own steps to maintain appropriate security, protection, and backup of Customer Data. Customer may not store or process protected health information (as defined in HIPAA) using the Services unless Customer signs a Business Associate Agreement with Supabase. Customer may not store any payment cardholder information using the Services without Supabase's prior written approval.
+
+## 8. Intellectual Property Ownership; Feedback.
+
+### 1. Supabase IP.
+
+Customer acknowledges that, as between Customer and Supabase, Supabase owns all right, title, and interest, including all intellectual property rights, in and to the Supabase IP and, with respect to Third-Party Products, the applicable third-party providers own all right, title, and interest, including all intellectual property rights, in and to the Third-Party Products.
+
+### 2. Customer Data.
+
+Supabase acknowledges that, as between Supabase and Customer, Customer owns all right, title, and interest, including all intellectual property rights, in and to the Customer Data. Customer hereby grants to Supabase a non-exclusive, royalty-free, worldwide license to reproduce, distribute, and otherwise use and display the Customer Data and perform all acts with respect to the Customer Data as may be necessary for Supabase to provide the Services to Customer, and a non-exclusive, perpetual, irrevocable, royalty-free, worldwide license to reproduce, distribute, modify, and otherwise use and display Customer Data incorporated within the Aggregated Data. Customer may export the Customer Data at any time through the features and functionalities made available via the Services.
+
+### 3. Feedback.
+
+If Customer or any of its employees or contractors sends or transmits any communications or materials to Supabase by mail, email, telephone, or otherwise, suggesting or recommending changes to the Supabase IP, including without limitation, new features or functionality relating thereto, or any comments, questions, suggestions, or the like ("**Feedback**"), Supabase is free to use such Feedback irrespective of any other obligation or limitation between the Parties governing such Feedback so long as Supabase does not identify Customer as the source of the Feedback without Customer's prior approval.
+
+## 9. Warranty Disclaimer.
+
+The Supabase IP is provided "as is" and Supabase
+hereby disclaims all warranties, whether express, implied, statutory, or
+otherwise. Supabase specifically disclaims all implied warranties of
+merchantability, fitness for a particular purpose, title, and non-infringement,
+and all warranties arising from course of dealing, usage, or trade practice. Supabase
+makes no warranty of any kind that the Supabase IP, or any products or results
+of the use thereof, will meet Customer’s or any other person’s requirements,
+operate without interruption, achieve any intended result, be compatible or
+work with any software, system or other services, or be secure, accurate,
+complete, free of harmful code, or error free.
+
+## 10. Indemnification.
+
+### 1. Supabase Indemnification.
+
+1. Supabase shall indemnify, defend, and hold harmless Customer from and against any and all losses, damages, liabilities, costs (including reasonable attorneys' fees) ("**Losses**") incurred by Customer resulting from any third-party claim, suit, action, or proceeding ("**Third-Party Claim**") that the Services, or any use of the Services in accordance with this Agreement, infringes or misappropriates such third party's US copyrights or trade secrets; provided that Customer promptly notifies Supabase in writing of the claim, cooperates with Supabase, and allows Supabase sole authority to control the defense and settlement of such claim.
+2. If such a claim is made or appears possible, Customer agrees to permit Supabase, at Supabase's sole discretion: to (i) modify or replace the Services, or component or part thereof, to make it non-infringing; or (ii) obtain the right for Customer to continue use. If Supabase determines that neither alternative is reasonably commercially available, Supabase may terminate this Agreement, in its entirety or with respect to the affected component or part, effective immediately on written notice to Customer.
+3. This Section 10.1 will not apply to the extent that the alleged infringement arises from: (i) use of the Services in combination with data, software, hardware, equipment, or technology not provided by Supabase or authorized by Supabase in writing; (ii) modifications to the Services not made by Supabase; (iii) Customer Data; or (iv) Third-Party Products.
+
+### 2. Customer Indemnification.
+
+Customer shall indemnify, hold harmless, and, at Supabase's option, defend Supabase from and against any Losses resulting from any Third-Party Claim that the Customer Data, or any use of the Customer Data in accordance with this Agreement, infringes or misappropriates such third party's US intellectual property or other rights and any Third-Party Claims based on Customer's or any Authorized User's (i) negligence or willful misconduct; (ii) use of the Services in a manner not authorized by this Agreement; or (iii) use of the Services in combination with data, software, hardware, equipment or technology not provided by Supabase or authorized by Supabase in writing; in each case provided that Customer may not settle any Third-Party Claim against Supabase unless Supabase consents to such settlement, and further provided that Supabase will have the right, at its option, to defend itself against any such Third-Party Claim or to participate in the defense thereof by counsel of its own choice.
+
+### 3. Sole Remedy.
+
+This section 10.3 sets forth Customer's sole remedies and Supabase's sole liability and obligation for any actual, threatened, or alleged claims that the services infringe, misappropriate, or otherwise violate any intellectual property rights of any third party.
+
+## 11. Limitations of Liability.
+
+Except for: (i) a party’s breach of its confidentiality obligations;
+(ii) a party’s indemnity obligations; or (iii) a party’s gross negligence,
+fraud, or willful misconduct ("**Excluded Liabilities**"), (a) in no
+event will either party be liable under or in connection with this agreement
+under any legal or equitable theory, including breach of contract, tort
+(including negligence), strict liability, and otherwise, for any: (1)
+consequential, incidental, indirect, exemplary, special, enhanced, or punitive
+damages; (2) increased costs, diminution in value or lost business, production,
+revenues, or profits; (3) loss of goodwill or reputation; (4) use, inability to
+use, loss, interruption, delay or recovery of any data, or breach of data or
+system security; or (5) cost of replacement goods or services, in each case
+regardless of whether such party was advised of the possibility of such losses
+or damages or such losses or damages were otherwise foreseeable; and (b) in no
+event will either party’s aggregate liability arising out of or related to this
+agreement under any legal or equitable theory, including breach of contract,
+tort (including negligence), strict liability, and otherwise exceed the total
+amounts paid and/or payable to Supabase under this agreement in the twelve (12)
+months immediately preceding the claim; provided that, notwithstanding the
+foregoing, Supabase's aggregate liability arising out of or relating to any
+excluded liabilities will not exceed three times (3x) the total amounts paid
+and/or payable to Supabase by Customer under this agreement in the twelve (12)
+months immediately preceding the claim.
+
+## 12. Subscription Period and Termination.
+
+### 1. Subscription Period.
+
+The initial term of this Agreement begins on the Effective Date and, unless terminated earlier pursuant to Section 12.2, will continue in effect for the period identified in the Order (the "**Initial Subscription Period**"). This Agreement will automatically renew for additional successive terms equal to the length of the Initial Subscription Period unless earlier terminated pursuant to this Agreement's express provisions or either Party gives the other Party written notice of non-renewal at least thirty (30) days prior to the expiration of the then-current term (each a "**Renewal Subscription Period**" and together with the Initial Subscription Period, the "**Subscription Period**").]
+
+#### 2. Termination.
+
+In addition to any other express termination right set forth in this Agreement:
+
+1. Supabase may terminate this Agreement, effective on written notice to Customer, if Customer: (i) fails to pay any amount when due hereunder, and such failure continues more than ten (10) calendar days after Supabase's delivery of written notice thereof; or (ii) breaches any of its obligations under Section 2.3 or Section 6;
+2. either Party may terminate this Agreement, effective on written notice to the other Party, if the other Party materially breaches this Agreement, and such breach: (i) is incapable of cure; or (ii) being capable of cure, remains uncured thirty (30) calendar days after the non-breaching Party provides the breaching Party with written notice of such breach; or
+3. either Party may terminate this Agreement, effective immediately upon written notice to the other Party, if the other Party: (i) becomes insolvent or is generally unable to pay, or fails to pay, its debts as they become due; (ii) files or has filed against it, a petition for voluntary or involuntary bankruptcy or otherwise becomes subject, voluntarily or involuntarily, to any proceeding under any domestic or foreign bankruptcy or insolvency law; (iii) makes or seeks to make a general assignment for the benefit of its creditors; or (iv) applies for or has appointed a receiver, trustee, custodian, or similar agent appointed by order of any court of competent jurisdiction to take charge of or sell any material portion of its property or business.
+
+### 3. Effect of Expiration or Termination.
+
+Upon expiration or earlier termination of this Agreement, Customer shall immediately discontinue use of the Supabase IP and, without limiting Customer's obligations under Section 6, Customer shall delete, destroy, or return all copies of the Supabase IP and certify in writing to the Supabase that the Supabase IP has been deleted or destroyed. No expiration or termination will affect Customer's obligation to pay all Fees that may have become due before such expiration or termination or entitle Customer to any refund.
+
+### 4. Survival.
+
+This Section 12.4 and Sections 1, 5, 6, 8, 9, 10, 11, and 13 survive any termination or expiration of this Agreement. No other provisions of this Agreement survive the expiration or earlier termination of this Agreement.
+
+## 13. Miscellaneous.
+
+### 1. Entire Agreement.
+
+This Agreement, together with any other documents incorporated herein by reference, constitutes the sole and entire agreement of the Parties with respect to the subject matter of this Agreement and supersedes all prior and contemporaneous understandings, agreements, and representations and warranties, both written and oral, with respect to such subject matter. In the event of any inconsistency between the statements made in the body of this Agreement, the related Exhibits, and any other documents incorporated herein by reference, the following order of precedence governs: (i) first, this Agreement; and (ii) second, any other documents incorporated herein by reference.
+
+### 2. Notices.
+
+All notices, requests, consents, claims, demands, waivers, and other communications hereunder (each, a "**Notice**") must be in writing and addressed to the Parties at the addresses set forth on the first page of this Agreement or as identified on the Order Form (or to such other address that may be designated by the Party giving Notice from time to time in accordance with this Section). All Notices must be delivered by personal delivery, nationally recognized signed for on delivery courier (with all fees pre-paid), or email (with confirmation of transmission). All email Notices to Supabase must be sent to [legal@supabase.io](mailto:legal@supabase.io). Except as otherwise provided in this Agreement, a Notice is effective only: (i) upon receipt by the receiving Party; and (ii) if the Party giving the Notice has complied with the requirements of this Section.
+
+### 3. Force Majeure.
+
+In no event shall either Party be liable to the other Party, or be deemed to have breached this Agreement, for any failure or delay in performing its obligations under this Agreement (except for any obligations to make payments), if and to the extent such failure or delay is caused by any circumstances beyond such Party's reasonable control, including but not limited to acts of God, flood, fire, earthquake, explosion, war, terrorism, invasion, riot or other civil unrest, strikes, labor stoppages or slowdowns or other industrial disturbances, or passage of law or any action taken by a governmental or public authority, including imposing an embargo.
+
+### 4. Amendment and Modification.
+
+Supabase may change this Agreement (except for any Orders) from time to time at its discretion. The date on which the Agreement was last modified will be updated at the top of this Agreement. Supabase will provide Customer with reasonable notice prior to any amendments or modifications taking effect, either by emailing the email address associated with Customer's account on the Services or by another method reasonably designed to provide notice to Customer. If Customer accesses or uses the Services after the effective date of the revised Agreement, such access and use will constitute Customer's acceptance of the revised Agreement beginning at the next Renewal Subscription Period or, if Customer enters into a new Order with Supabase, as of the date of execution of such Order.
+
+### 5. Waiver.
+
+No failure or delay by either Party in exercising any right or remedy available to it in connection with this Agreement will constitute a waiver of such right or remedy. No waiver under this Agreement will be effective unless made in writing and signed by an authorized representative of the Party granting the waiver.
+
+### 6. Severability.
+
+If any provision of this Agreement is invalid, illegal, or unenforceable in any jurisdiction, such invalidity, illegality, or unenforceability will not affect any other term or provision of this Agreement or invalidate or render unenforceable such term or provision in any other jurisdiction. Upon such determination that any term or other provision is invalid, illegal, or unenforceable, the Parties shall negotiate in good faith to modify this Agreement so as to effect their original intent as closely as possible in a mutually acceptable manner in order that the transactions contemplated hereby be consummated as originally contemplated to the greatest extent possible.
+
+### 7. Governing Law; Submission to Jurisdiction.
+
+This Agreement is governed by and construed in accordance with the internal laws of the State of California without giving effect to any choice or conflict of law provision or rule that would require or permit the application of the laws of any jurisdiction other than those of the State of California. Any legal suit, action, or proceeding arising out of or related to this Agreement or the licenses granted hereunder must be instituted in the federal courts of the United States or the courts of the State of California in each case located in San Francisco County, California and each Party irrevocably submits to the exclusive jurisdiction of such courts in any such suit, action, or proceeding.
+
+### 8. Assignment.
+
+Customer may not assign any of its rights or delegate any of its obligations hereunder, in each case whether voluntarily, involuntarily, by operation of law or otherwise, without the prior written consent of Supabase. Any purported assignment or delegation in violation of this Section will be null and void. No assignment or delegation will relieve the assigning or delegating Party of any of its obligations hereunder. This Agreement is binding upon and inures to the benefit of the Parties and their respective permitted successors and assigns.
+
+### 9. Export Regulation.
+
+The Services utilize software and technology that may be subject to US export control laws, including the US Export Administration Act and its associated regulations. Customer shall not, directly or indirectly, export, re-export, or release the Services or the underlying software or technology to, or make the Services or the underlying software or technology accessible from, any jurisdiction or country to which export, re-export, or release is prohibited by law, rule, or regulation. Customer shall comply with all applicable federal laws, regulations, and rules, and complete all required undertakings (including obtaining any necessary export license or other governmental approval), prior to exporting, re-exporting, releasing, or otherwise making the Services or the underlying software or technology available outside the US.
+
+### 10. US Government Rights.
+
+Each of the Documentation and the software components that constitute the Services is a "commercial item" as that term is defined at 48 C.F.R. § 2.101, consisting of "commercial computer software" and "commercial computer software documentation" as such terms are used in 48 C.F.R. § 12.212. Accordingly, if Customer is an agency of the US Government or any contractor therefor, Customer only receives those rights with respect to the Services and Documentation as are granted to all other end users, in accordance with (a) 48 C.F.R. § 227.7201 through 48 C.F.R. § 227.7204, with respect to the Department of Defense and their contractors, or (b) 48 C.F.R. § 12.212, with respect to all other US Government users and their contractors.
+
+### 11. Equitable Relief.
+
+Each Party acknowledges and agrees that a breach or threatened breach by such Party of any of its obligations under Section 6 or, in the case of Customer, Section 2.3, would cause the other Party irreparable harm for which monetary damages would not be an adequate remedy and agrees that, in the event of such breach or threatened breach, the other Party will be entitled to equitable relief, including a restraining order, an injunction, specific performance and any other relief that may be available from any court, without any requirement to post a bond or other security, or to prove actual damages or that monetary damages are not an adequate remedy. Such remedies are not exclusive and are in addition to all other remedies that may be available at law, in equity or otherwise.
+
+### 12. Publicity.
+
+Supabase may identify Customer as a user of the Services and may use Customer's name, logo, and other trademarks in Supabase's customer list, press releases, blog posts, advertisements, and website (and all use thereof and goodwill arising therefrom shall inure to the sole and exclusive benefit of Customer). Otherwise, neither Party may use the name, logo, or other trademarks of the other Party for any purpose without the other Party's prior written approval.
diff --git a/apps/temp-docs/docs/dart/.gitkeep b/apps/temp-docs/docs/dart/.gitkeep
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/apps/temp-docs/docs/dart/auth-onauthstatechange.mdx b/apps/temp-docs/docs/dart/auth-onauthstatechange.mdx
new file mode 100644
index 00000000000..e495f9deeb2
--- /dev/null
+++ b/apps/temp-docs/docs/dart/auth-onauthstatechange.mdx
@@ -0,0 +1,72 @@
+---
+id: auth-onauthstatechange
+title: "auth.onAuthStateChange()"
+slug: auth-onauthstatechange
+custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/dart.yml
+---
+
+import Tabs from '@theme/Tabs';
+import TabsPanel from '@theme/TabsPanel';
+
+Receive a notification every time an auth event happens.
+
+
+
+
+
+
+```dart
+final subscription = supabase.auth.onAuthStateChange((event, session) {
+ print(session?.user?.id);
+ // handle auth state change
+});
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+## Examples
+
+### Listen to auth changes
+
+
+
+
+
+
+
+```dart
+final subscription = supabase.auth.onAuthStateChange((event, session) {
+ print(session?.user?.id);
+ // handle auth state change
+});
+```
+
+
+
+
+
\ No newline at end of file
diff --git a/apps/temp-docs/docs/dart/auth-session.mdx b/apps/temp-docs/docs/dart/auth-session.mdx
new file mode 100644
index 00000000000..361bb5d22fb
--- /dev/null
+++ b/apps/temp-docs/docs/dart/auth-session.mdx
@@ -0,0 +1,66 @@
+---
+id: auth-session
+title: "auth.session()"
+slug: auth-session
+custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/dart.yml
+---
+
+import Tabs from '@theme/Tabs';
+import TabsPanel from '@theme/TabsPanel';
+
+Returns the session data, if there is an active session.
+
+
+
+
+
+
+```dart
+final session = supabase.auth.session();
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+## Examples
+
+### Get the session data
+
+
+
+
+
+
+
+```dart
+final session = supabase.auth.session();
+```
+
+
+
+
+
\ No newline at end of file
diff --git a/apps/temp-docs/docs/dart/auth-signin.mdx b/apps/temp-docs/docs/dart/auth-signin.mdx
new file mode 100644
index 00000000000..b991760a4dc
--- /dev/null
+++ b/apps/temp-docs/docs/dart/auth-signin.mdx
@@ -0,0 +1,124 @@
+---
+id: auth-signin
+title: "auth.signIn()"
+slug: auth-signin
+custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/dart.yml
+---
+
+import Tabs from '@theme/Tabs';
+import TabsPanel from '@theme/TabsPanel';
+
+Log in an existing user, or login via a third-party provider.
+
+
+
+
+
+
+```dart
+final res = await supabase.auth.signIn(email: 'example@email.com', password: 'example-password');
+
+final user = res.data?.user;
+final error = res.error;
+```
+
+
+
+
+
+
+
+
+
+
+## Notes
+
+- A user can sign up via email, phone number.
+- If you provide `email` without a `password`, the user will be sent a magic link.
+- The magic link's destination URL is determined by the SITE_URL config variable. To change this, you can go to Authentication -> Settings on [app.supabase.io](https://app.supabase.io)
+- Similarly, if you provide `phone` without a `password`, the user will be sent a one time password.
+- If you are looking to sign users in with OAuth in Flutter apps, go to [`signInWithProvider()`](/docs/reference/dart/auth-signinwithprovider).
+
+
+
+
+
+
+
+
+
+
+## Examples
+
+### Sign in with email.
+
+
+
+
+
+
+
+```dart
+final res = await supabase.auth.signIn(email: 'example@email.com', password: 'example-password');
+
+final user = res.data?.user;
+final error = res.error;
+```
+
+
+
+
+
+
+### Sign in with magic link.
+
+If email is provided, but no password is provided, the user will be sent a "magic link" to their email address, which they can click to open your application with a valid session. By default, a given user can only request a Magic Link once every 60 seconds.
+
+
+
+
+
+```dart
+final res = await supabase.auth.signIn(email: 'example@email.com');
+
+final error = res.error;
+```
+
+
+
+
+
+
+### Get OAuth sign in URL.
+
+Passing provider parameter to `signIn()` will return a URL to sign your user in via OAuth.
+If you are looking to sign in a user via OAuth on Flutter app, go to [`signInWithProvider()`](/docs/reference/dart/auth-signinwithprovider).
+
+
+
+
+
+
+```dart
+final res = await supabase.auth.signIn(provider: Provider.github);
+
+final url = res.data?.url;
+final error = res.error;
+```
+
+
+
+
+
\ No newline at end of file
diff --git a/apps/temp-docs/docs/dart/auth-signinwithprovider.mdx b/apps/temp-docs/docs/dart/auth-signinwithprovider.mdx
new file mode 100644
index 00000000000..62863ba012e
--- /dev/null
+++ b/apps/temp-docs/docs/dart/auth-signinwithprovider.mdx
@@ -0,0 +1,129 @@
+---
+id: auth-signinwithprovider
+title: "auth.signInWithProvider()"
+slug: auth-signinwithprovider
+custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/dart.yml
+---
+
+import Tabs from '@theme/Tabs';
+import TabsPanel from '@theme/TabsPanel';
+
+Signs the user in using third party OAuth providers.
+
+
+
+
+
+
+```dart
+final res = await supabase.auth.signInWithProvider(Provider.github);
+
+final error = res.error;
+```
+
+
+
+
+
+
+
+
+
+
+## Notes
+
+- `auth.signInWithProvider()` is only available on `supabase_flutter`
+- It will open the browser to the relevant login page.
+
+
+
+
+
+
+
+
+
+
+## Examples
+
+### Sign in with provider.
+
+
+
+
+
+
+
+```dart
+final res = await supabase.auth.signInWithProvider(Provider.github);
+
+final error = res.error;
+```
+
+
+
+
+
+
+### With `redirectTo`
+
+Specify the redirect link to bring back the user via deeplink.
+Note that `redirectTo` should be null for Flutter Web.
+
+
+
+
+
+
+```dart
+final res = await supabase.auth.signInWithProvider(
+ Provider.github,
+ options: AuthOptions(
+ redirectTo: kIsWeb
+ ? null
+ : 'io.supabase.flutter://reset-callback/'),
+);
+
+final error = res.error;
+```
+
+
+
+
+
+
+### With scopes
+
+If you need additional data from an OAuth provider, you can include a space-separated list of scopes in your request to get back an OAuth provider token.
+You may also need to specify the scopes in the provider's OAuth app settings, depending on the provider.
+
+
+
+
+
+
+```dart
+const { user, session, error } = await supabase.auth.signIn({
+ provider: 'github'
+}, {
+ scopes: 'repo gist notifications'
+})
+const oAuthToken = session.provider_token // use to access provider API
+```
+
+
+
+
+
\ No newline at end of file
diff --git a/apps/temp-docs/docs/dart/auth-signout.mdx b/apps/temp-docs/docs/dart/auth-signout.mdx
new file mode 100644
index 00000000000..d1458aec554
--- /dev/null
+++ b/apps/temp-docs/docs/dart/auth-signout.mdx
@@ -0,0 +1,70 @@
+---
+id: auth-signout
+title: "auth.signOut()"
+slug: auth-signout
+custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/dart.yml
+---
+
+import Tabs from '@theme/Tabs';
+import TabsPanel from '@theme/TabsPanel';
+
+Signs out the current user, if there is a logged in user.
+
+
+
+
+
+
+```dart
+final res = await supabase.auth.signOut();
+
+final error = res.error;
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+## Examples
+
+### Sign out
+
+
+
+
+
+
+
+```dart
+final res = await supabase.auth.signOut();
+
+final error = res.error;
+```
+
+
+
+
+
\ No newline at end of file
diff --git a/apps/temp-docs/docs/dart/auth-signup.mdx b/apps/temp-docs/docs/dart/auth-signup.mdx
new file mode 100644
index 00000000000..f1a87c75440
--- /dev/null
+++ b/apps/temp-docs/docs/dart/auth-signup.mdx
@@ -0,0 +1,80 @@
+---
+id: auth-signup
+title: "auth.signUp()"
+slug: auth-signup
+custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/dart.yml
+---
+
+import Tabs from '@theme/Tabs';
+import TabsPanel from '@theme/TabsPanel';
+
+Creates a new user.
+
+
+
+
+
+
+```dart
+final res = await supabase.auth.signUp('example@email.com', 'example-password');
+
+final user = res.data?.user;
+final error = res.error;
+```
+
+
+
+
+
+
+
+
+
+
+## Notes
+
+- By default, the user will need to verify their email address before logging in. If you would like to change this, you can disable "Email Confirmations" by going to Authentication -> Settings on [app.supabase.io](https://app.supabase.io)
+- If "Email Confirmations" is turned on, a `user` is returned but `session` will be null
+- If "Email Confirmations" is turned off, both a `user` and a `session` will be returned
+- When the user confirms their email address, they will be redirected to localhost:3000 by default. To change this, you can go to Authentication -> Settings on [app.supabase.io](https://app.supabase.io)
+
+
+
+
+
+
+
+
+
+
+## Examples
+
+### Sign up.
+
+
+
+
+
+
+
+```dart
+final res = await supabase.auth.signUp('example@email.com', 'example-password');
+
+final user = res.data?.user;
+final error = res.error;
+```
+
+
+
+
+
+
+### Sign up with third-party providers.
+
+If you are using Flutter, you can sign up with OAuth providers using the [`signInWithProvider()`](/docs/reference/dart/auth-signinwithprovider) method available on `supabase_flutter`.
\ No newline at end of file
diff --git a/apps/temp-docs/docs/dart/auth-update.mdx b/apps/temp-docs/docs/dart/auth-update.mdx
new file mode 100644
index 00000000000..95451f08b8e
--- /dev/null
+++ b/apps/temp-docs/docs/dart/auth-update.mdx
@@ -0,0 +1,76 @@
+---
+id: auth-update
+title: "auth.update()"
+slug: auth-update
+custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/dart.yml
+---
+
+import Tabs from '@theme/Tabs';
+import TabsPanel from '@theme/TabsPanel';
+
+Updates user data, if there is a logged in user.
+
+
+
+
+
+
+```dart
+final res = await supabase.auth.update(
+ UserAttributes(data: {'hello': 'world'})
+);
+
+final error = res.error;
+```
+
+
+
+
+
+
+
+
+
+
+## Notes
+
+It's generally better to store user data in a table inside your public schema (i.e. `public.users`).
+Use the `update()` method if you have data which rarely changes or is specific only to the logged in user.
+
+
+
+
+
+
+
+
+
+
+## Examples
+
+### Update a user's metadata.
+
+
+
+
+
+
+
+```dart
+final res = await supabase.auth.update(
+ UserAttributes(data: {'hello': 'world'})
+);
+
+final error = res.error;
+```
+
+
+
+
+
\ No newline at end of file
diff --git a/apps/temp-docs/docs/dart/auth-user.mdx b/apps/temp-docs/docs/dart/auth-user.mdx
new file mode 100644
index 00000000000..fb11208dea8
--- /dev/null
+++ b/apps/temp-docs/docs/dart/auth-user.mdx
@@ -0,0 +1,66 @@
+---
+id: auth-user
+title: "auth.user()"
+slug: auth-user
+custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/dart.yml
+---
+
+import Tabs from '@theme/Tabs';
+import TabsPanel from '@theme/TabsPanel';
+
+Returns the user data, if there is a logged in user.
+
+
+
+
+
+
+```dart
+final user = supabase.auth.user();
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+## Examples
+
+### Get the logged in user
+
+
+
+
+
+
+
+```dart
+final user = supabase.auth.user();
+```
+
+
+
+
+
\ No newline at end of file
diff --git a/apps/temp-docs/docs/dart/containedby.mdx b/apps/temp-docs/docs/dart/containedby.mdx
new file mode 100644
index 00000000000..0902ece9744
--- /dev/null
+++ b/apps/temp-docs/docs/dart/containedby.mdx
@@ -0,0 +1,145 @@
+---
+id: containedby
+title: ".containedBy()"
+slug: containedby
+custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/dart.yml
+---
+
+import Tabs from '@theme/Tabs';
+import TabsPanel from '@theme/TabsPanel';
+
+
+
+
+
+
+
+```dart
+final res = await supabase
+ .from('countries')
+ .select('name, id, main_exports')
+ .containedBy('main_exports', ['cars', 'food', 'machine'])
+ .execute();
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+## Examples
+
+### With `select()`
+
+
+
+
+
+
+
+```dart
+final res = await supabase
+ .from('countries')
+ .select('name, id, main_exports')
+ .containedBy('main_exports', ['cars', 'food', 'machine'])
+ .execute();
+```
+
+
+
+
+
+
+### With `update()`
+
+
+
+
+
+
+
+```dart
+final res = await supabase
+ .from('countries')
+ .update({ 'name': 'Mordor' })
+ .containedBy('main_exports', ['orks', 'surveillance', 'evil'])
+ .execute();
+```
+
+
+
+
+
+
+### With `delete()`
+
+
+
+
+
+
+
+```dart
+final res = await supabase
+ .from('countries')
+ .delete()
+ .containedBy('main_exports', ['cars', 'food', 'machine'])
+ .execute();
+```
+
+
+
+
+
+
+### With `rpc()`
+
+
+
+
+
+
+
+```dart
+// Only valid if the Stored Procedure returns a table type.
+final res = await supabase
+ .rpc('echo_all_countries')
+ .containedBy('main_exports', ['cars', 'food', 'machine'])
+ .execute();
+```
+
+
+
+
+
\ No newline at end of file
diff --git a/apps/temp-docs/docs/dart/contains.mdx b/apps/temp-docs/docs/dart/contains.mdx
new file mode 100644
index 00000000000..c350feeecbc
--- /dev/null
+++ b/apps/temp-docs/docs/dart/contains.mdx
@@ -0,0 +1,145 @@
+---
+id: contains
+title: ".contains()"
+slug: contains
+custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/dart.yml
+---
+
+import Tabs from '@theme/Tabs';
+import TabsPanel from '@theme/TabsPanel';
+
+
+
+
+
+
+
+```dart
+final res = await supabase
+ .from('countries')
+ .select('name, id, main_exports')
+ .contains('main_exports', ['oil'])
+ .execute();
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+## Examples
+
+### With `select()`
+
+
+
+
+
+
+
+```dart
+final res = await supabase
+ .from('countries')
+ .select('name, id, main_exports')
+ .contains('main_exports', ['oil'])
+ .execute();
+```
+
+
+
+
+
+
+### With `update()`
+
+
+
+
+
+
+
+```dart
+final res = await supabase
+ .from('countries')
+ .update({ 'name': 'Mordor' })
+ .contains('main_exports', ['oil'])
+ .execute();
+```
+
+
+
+
+
+
+### With `delete()`
+
+
+
+
+
+
+
+```dart
+final res = await supabase
+ .from('countries')
+ .delete()
+ .contains('main_exports', ['oil'])
+ .execute();
+```
+
+
+
+
+
+
+### With `rpc()`
+
+
+
+
+
+
+
+```dart
+// Only valid if the Stored Procedure returns a table type.
+final res = await supabase
+ .rpc('echo_all_countries')
+ .contains('main_exports', ['oil'])
+ .execute();
+```
+
+
+
+
+
\ No newline at end of file
diff --git a/apps/temp-docs/docs/dart/delete.mdx b/apps/temp-docs/docs/dart/delete.mdx
new file mode 100644
index 00000000000..37b570eefa3
--- /dev/null
+++ b/apps/temp-docs/docs/dart/delete.mdx
@@ -0,0 +1,76 @@
+---
+id: delete
+title: "Delete data: delete()"
+slug: delete
+custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/dart.yml
+---
+
+import Tabs from '@theme/Tabs';
+import TabsPanel from '@theme/TabsPanel';
+
+Performs a DELETE on the table.
+
+
+
+
+
+
+```dart
+final res = await supabase
+ .from('cities')
+ .delete()
+ .match({ 'id': 666 })
+ .execute();
+```
+
+
+
+
+
+
+
+
+
+
+## Notes
+
+TODO update link to dart
+- `delete()` should always be combined with [Filters](/docs/reference/javascript/using-filters) to target the item(s) you wish to delete.
+
+
+
+
+
+
+
+
+
+
+## Examples
+
+### Delete records
+
+
+
+
+
+
+
+```dart
+final res = await supabase
+ .from('cities')
+ .delete()
+ .match({ 'id': 666 })
+ .execute();
+```
+
+
+
+
+
\ No newline at end of file
diff --git a/apps/temp-docs/docs/dart/eq.mdx b/apps/temp-docs/docs/dart/eq.mdx
new file mode 100644
index 00000000000..b631453c7f3
--- /dev/null
+++ b/apps/temp-docs/docs/dart/eq.mdx
@@ -0,0 +1,146 @@
+---
+id: eq
+title: ".eq()"
+slug: eq
+custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/dart.yml
+---
+
+import Tabs from '@theme/Tabs';
+import TabsPanel from '@theme/TabsPanel';
+
+Finds all rows whose value on the stated `column` exactly matches the specified `value`.
+
+
+
+
+
+
+```dart
+final res = await supabase
+ .from('cities')
+ .select('name, country_id')
+ .eq('name', 'The shire')
+ .execute();
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+## Examples
+
+### With `select()`
+
+
+
+
+
+
+
+```dart
+final res = await supabase
+ .from('cities')
+ .select('name, country_id')
+ .eq('name', 'The shire')
+ .execute();
+```
+
+
+
+
+
+
+### With `update()`
+
+
+
+
+
+
+
+```dart
+final res = await supabase
+ .from('cities')
+ .update({ 'name': 'Mordor' })
+ .eq('name', 'San Francisco')
+ .execute();
+```
+
+
+
+
+
+
+### With `delete()`
+
+
+
+
+
+
+
+```dart
+final res = await supabase
+ .from('cities')
+ .delete()
+ .eq('name', 'Mordor')
+ .execute();
+```
+
+
+
+
+
+
+### With `rpc()`
+
+
+
+
+
+
+
+```dart
+// Only valid if the Stored Procedure returns a table type.
+final res = await supabase
+ .rpc('echo_all_cities')
+ .eq('name', 'San Francisco')
+ .execute();
+```
+
+
+
+
+
\ No newline at end of file
diff --git a/apps/temp-docs/docs/dart/filter.mdx b/apps/temp-docs/docs/dart/filter.mdx
new file mode 100644
index 00000000000..b637f533442
--- /dev/null
+++ b/apps/temp-docs/docs/dart/filter.mdx
@@ -0,0 +1,170 @@
+---
+id: filter
+title: ".filter()"
+slug: filter
+custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/dart.yml
+---
+
+import Tabs from '@theme/Tabs';
+import TabsPanel from '@theme/TabsPanel';
+
+Finds all rows whose `column` satisfies the filter.
+
+
+
+
+
+
+```dart
+final res = await supabase
+ .from('cities')
+ .select('name, country_id')
+ .filter('name', 'in', '("Paris","Tokyo")')
+ .execute();
+```
+
+
+
+
+
+
+
+
+
+
+## Notes
+
+- `.filter()` expects you to use the raw [PostgREST syntax](https://postgrest.org/en/stable/api.html#horizontal-filtering-rows) for the filter values, so it should only be used as an escape hatch in case other filters don't work.
+
+
+
+
+
+
+
+
+
+
+## Examples
+
+### With `select()`
+
+
+
+
+
+
+
+```dart
+final res = await supabase
+ .from('cities')
+ .select('name, country_id')
+ .filter('name', 'in', '("Paris","Tokyo")')
+ .execute();
+```
+
+
+
+
+
+
+### With `update()`
+
+
+
+
+
+
+
+```dart
+final res = await supabase
+ .from('cities')
+ .update({ 'name': 'Mordor' })
+ .filter('name', 'in', '("Paris","Tokyo")')
+ .execute();
+```
+
+
+
+
+
+
+### With `delete()`
+
+
+
+
+
+
+
+```dart
+final res = await supabase
+ .from('cities')
+ .delete()
+ .filter('name', 'in', '("Paris","Tokyo")')
+ .execute();
+```
+
+
+
+
+
+
+### With `rpc()`
+
+
+
+
+
+
+
+```dart
+// Only valid if the Stored Procedure returns a table type.
+final res = await supabase
+ .rpc('echo_all_cities')
+ .filter('name', 'in', '("Paris","Tokyo")')
+```
+
+
+
+
+
+
+### Filter embedded resources
+
+
+
+
+
+
+
+```dart
+final res = await supabase
+ .from('cities')
+ .select('name, countries ( name )')
+ .filter('countries.name', 'in', '("France","Japan")')
+ .execute();
+```
+
+
+
+
+
\ No newline at end of file
diff --git a/apps/temp-docs/docs/dart/getsubscriptions.mdx b/apps/temp-docs/docs/dart/getsubscriptions.mdx
new file mode 100644
index 00000000000..1ddf8924852
--- /dev/null
+++ b/apps/temp-docs/docs/dart/getsubscriptions.mdx
@@ -0,0 +1,66 @@
+---
+id: getsubscriptions
+title: "getSubscriptions()"
+slug: getsubscriptions
+custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/dart.yml
+---
+
+import Tabs from '@theme/Tabs';
+import TabsPanel from '@theme/TabsPanel';
+
+Returns an array of all your subscriptions.
+
+
+
+
+
+
+```dart
+final subscriptions = supabase.getSubscriptions();
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+## Examples
+
+### Get all subscriptions
+
+
+
+
+
+
+
+```dart
+final subscriptions = supabase.getSubscriptions();
+```
+
+
+
+
+
\ No newline at end of file
diff --git a/apps/temp-docs/docs/dart/gt.mdx b/apps/temp-docs/docs/dart/gt.mdx
new file mode 100644
index 00000000000..4c211f5b871
--- /dev/null
+++ b/apps/temp-docs/docs/dart/gt.mdx
@@ -0,0 +1,146 @@
+---
+id: gt
+title: ".gt()"
+slug: gt
+custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/dart.yml
+---
+
+import Tabs from '@theme/Tabs';
+import TabsPanel from '@theme/TabsPanel';
+
+Finds all rows whose value on the stated `column` is greater than the specified `value`.
+
+
+
+
+
+
+```dart
+final res = await supabase
+ .from('cities')
+ .select('name, country_id')
+ .gt('country_id', 250)
+ .execute();
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+## Examples
+
+### With `select()`
+
+
+
+
+
+
+
+```dart
+final res = await supabase
+ .from('cities')
+ .select('name, country_id')
+ .gt('country_id', 250)
+ .execute();
+```
+
+
+
+
+
+
+### With `update()`
+
+
+
+
+
+
+
+```dart
+final res = await supabase
+ .from('cities')
+ .update({ 'name': 'Mordor' })
+ .gt('country_id', 250)
+ .execute();
+```
+
+
+
+
+
+
+### With `delete()`
+
+
+
+
+
+
+
+```dart
+final res = await supabase
+ .from('cities')
+ .delete()
+ .gt('country_id', 250)
+ .execute();
+```
+
+
+
+
+
+
+### With `rpc()`
+
+
+
+
+
+
+
+```dart
+// Only valid if the Stored Procedure returns a table type.
+final res = await supabase
+ .rpc('echo_all_cities')
+ .gt('country_id', 250)
+ .execute();
+```
+
+
+
+
+
\ No newline at end of file
diff --git a/apps/temp-docs/docs/dart/gte.mdx b/apps/temp-docs/docs/dart/gte.mdx
new file mode 100644
index 00000000000..1effd302292
--- /dev/null
+++ b/apps/temp-docs/docs/dart/gte.mdx
@@ -0,0 +1,146 @@
+---
+id: gte
+title: ".gte()"
+slug: gte
+custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/dart.yml
+---
+
+import Tabs from '@theme/Tabs';
+import TabsPanel from '@theme/TabsPanel';
+
+Finds all rows whose value on the stated `column` is greater than or equal to the specified `value`.
+
+
+
+
+
+
+```dart
+final res = await supabase
+ .from('cities')
+ .select('name, country_id')
+ .gte('country_id', 250)
+ .execute();
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+## Examples
+
+### With `select()`
+
+
+
+
+
+
+
+```dart
+final res = await supabase
+ .from('cities')
+ .select('name, country_id')
+ .gte('country_id', 250)
+ .execute();
+```
+
+
+
+
+
+
+### With `update()`
+
+
+
+
+
+
+
+```dart
+final res = await supabase
+ .from('cities')
+ .update({ 'name': 'Mordor' })
+ .gte('country_id', 250)
+ .execute();
+```
+
+
+
+
+
+
+### With `delete()`
+
+
+
+
+
+
+
+```dart
+final res = await supabase
+ .from('cities')
+ .delete()
+ .gte('country_id', 250)
+ .execute();
+```
+
+
+
+
+
+
+### With `rpc()`
+
+
+
+
+
+
+
+```dart
+// Only valid if the Stored Procedure returns a table type.
+final res = await supabase
+ .rpc('echo_all_cities')
+ .gte('country_id', 250)
+ .execute();
+```
+
+
+
+
+
\ No newline at end of file
diff --git a/apps/temp-docs/docs/dart/ilike.mdx b/apps/temp-docs/docs/dart/ilike.mdx
new file mode 100644
index 00000000000..35fa42c2602
--- /dev/null
+++ b/apps/temp-docs/docs/dart/ilike.mdx
@@ -0,0 +1,146 @@
+---
+id: ilike
+title: ".ilike()"
+slug: ilike
+custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/dart.yml
+---
+
+import Tabs from '@theme/Tabs';
+import TabsPanel from '@theme/TabsPanel';
+
+Finds all rows whose value in the stated `column` matches the supplied `pattern` (case insensitive).
+
+
+
+
+
+
+```dart
+final res = await supabase
+ .from('cities')
+ .select('name, country_id')
+ .ilike('name', '%la%')
+ .execute();
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+## Examples
+
+### With `select()`
+
+
+
+
+
+
+
+```dart
+final res = await supabase
+ .from('cities')
+ .select('name, country_id')
+ .ilike('name', '%la%')
+ .execute();
+```
+
+
+
+
+
+
+### With `update()`
+
+
+
+
+
+
+
+```dart
+final res = await supabase
+ .from('cities')
+ .update({ 'name': 'Mordor' })
+ .ilike('name', '%la%')
+ .execute();
+```
+
+
+
+
+
+
+### With `delete()`
+
+
+
+
+
+
+
+```dart
+final res = await supabase
+ .from('cities')
+ .delete()
+ .ilike('name', '%la%')
+ .execute();
+```
+
+
+
+
+
+
+### With `rpc()`
+
+
+
+
+
+
+
+```dart
+// Only valid if the Stored Procedure returns a table type.
+final res = await supabase
+ .rpc('echo_all_cities')
+ .ilike('name', '%la%')
+ .execute();
+```
+
+
+
+
+
\ No newline at end of file
diff --git a/apps/temp-docs/docs/dart/in_.mdx b/apps/temp-docs/docs/dart/in_.mdx
new file mode 100644
index 00000000000..23d18ca4ed3
--- /dev/null
+++ b/apps/temp-docs/docs/dart/in_.mdx
@@ -0,0 +1,148 @@
+---
+id: in_
+title: ".in_()"
+slug: in_
+custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/dart.yml
+---
+
+import Tabs from '@theme/Tabs';
+import TabsPanel from '@theme/TabsPanel';
+
+Finds all rows whose value on the stated `column` is found on the specified `values`.
+
+`is_` and `in_` filter methods are suffixed with `_` to avoid collisions with reserved keywords.
+
+
+
+
+
+
+```dart
+final res = await supabase
+ .from('cities')
+ .select('name, country_id')
+ .in_('name', ['Rio de Janeiro', 'San Francisco'])
+ .execute();
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+## Examples
+
+### With `select()`
+
+
+
+
+
+
+
+```dart
+final res = await supabase
+ .from('cities')
+ .select('name, country_id')
+ .in_('name', ['Rio de Janeiro', 'San Francisco'])
+ .execute();
+```
+
+
+
+
+
+
+### With `update()`
+
+
+
+
+
+
+
+```dart
+final res = await supabase
+ .from('cities')
+ .update({ 'name': 'Mordor' })
+ .in_('name', ['Rio de Janeiro', 'San Francisco'])
+ .execute();
+```
+
+
+
+
+
+
+### With `delete()`
+
+
+
+
+
+
+
+```dart
+final res = await supabase
+ .from('cities')
+ .delete()
+ .in_('name', ['Rio de Janeiro', 'San Francisco'])
+ .execute();
+```
+
+
+
+
+
+
+### With `rpc()`
+
+
+
+
+
+
+
+```dart
+// Only valid if the Stored Procedure returns a table type.
+final res = await supabase
+ .rpc('echo_all_cities')
+ .in_('name', ['Rio de Janeiro', 'San Francisco'])
+ .execute();
+```
+
+
+
+
+
\ No newline at end of file
diff --git a/apps/temp-docs/docs/dart/index.mdx b/apps/temp-docs/docs/dart/index.mdx
new file mode 100644
index 00000000000..acffea0ac94
--- /dev/null
+++ b/apps/temp-docs/docs/dart/index.mdx
@@ -0,0 +1,12 @@
+---
+id: index
+title: "Getting started"
+slug: getting-started
+custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/dart.yml
+---
+
+import Tabs from '@theme/Tabs';
+import TabsPanel from '@theme/TabsPanel';
+
+
+Supabase Dart.
\ No newline at end of file
diff --git a/apps/temp-docs/docs/dart/initializing.mdx b/apps/temp-docs/docs/dart/initializing.mdx
new file mode 100644
index 00000000000..87b3b493a6c
--- /dev/null
+++ b/apps/temp-docs/docs/dart/initializing.mdx
@@ -0,0 +1,84 @@
+---
+id: initializing
+title: "Initializing"
+slug: initializing
+custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/dart.yml
+---
+
+import Tabs from '@theme/Tabs';
+import TabsPanel from '@theme/TabsPanel';
+
+## Dart
+You can initialize a new Supabase client using the `SupabaseClient()` method.
+
+The Supabase client is your entrypoint to the rest of the Supabase functionality
+and is the easiest way to interact with everything we offer within the Supabase ecosystem.
+
+
+## Flutter
+
+For `supabase_flutter`, you will be using the static `initialize()` method on `Supabase` class.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+## Examples
+
+### Dart SupabaseClient()
+
+
+
+
+
+
+
+```dart
+final supabase = SupabaseClient('https://xyzcompany.supabase.co', 'public-anon-key');
+```
+
+
+
+
+
+
+### Flutter initialize()
+
+
+
+
+
+
+
+```dart title="main.dart"
+Future main() async {
+ await Supabase.initialize(url: 'https://xyzcompany.supabase.co', anonKey: 'public-anon-key');
+ runApp(MyApp());
+}
+```
+
+
+
+
+
\ No newline at end of file
diff --git a/apps/temp-docs/docs/dart/insert.mdx b/apps/temp-docs/docs/dart/insert.mdx
new file mode 100644
index 00000000000..c5422081ee2
--- /dev/null
+++ b/apps/temp-docs/docs/dart/insert.mdx
@@ -0,0 +1,102 @@
+---
+id: insert
+title: "Create data: insert()"
+slug: insert
+custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/dart.yml
+---
+
+import Tabs from '@theme/Tabs';
+import TabsPanel from '@theme/TabsPanel';
+
+Performs an INSERT into the table.
+
+
+
+
+
+
+```dart
+final res = await supabase
+ .from('cities')
+ .insert([
+ {'name': 'The Shire', 'country_id': 554}
+ ]).execute();
+```
+
+
+
+
+
+
+
+
+
+
+## Notes
+
+- By default, every time you run `insert()`, the client library will make a `select` to return the full record.
+This is convenient, but it can also cause problems if your Policies are not configured to allow the `select` operation.
+If you are using Row Level Security and you are encountering problems, try setting the `returning` param to `minimal`.
+
+
+
+
+
+
+
+
+
+
+## Examples
+
+### Create a record
+
+
+
+
+
+
+
+```dart
+final res = await supabase
+ .from('cities')
+ .insert([
+ {'name': 'The Shire', 'country_id': 554}
+ ]).execute();
+```
+
+
+
+
+
+
+### Bulk create
+
+
+
+
+
+
+
+```dart
+final res = await supabase
+ .from('cities')
+ .insert([
+ {'name': 'The Shire', 'country_id': 554},
+ {'name': 'Rohan', 'country_id': 555},
+ ]).execute();
+```
+
+
+
+
+
\ No newline at end of file
diff --git a/apps/temp-docs/docs/dart/installing.mdx b/apps/temp-docs/docs/dart/installing.mdx
new file mode 100644
index 00000000000..290000ecd86
--- /dev/null
+++ b/apps/temp-docs/docs/dart/installing.mdx
@@ -0,0 +1,32 @@
+---
+id: installing
+title: "Installing"
+slug: installing
+custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/dart.yml
+---
+
+import Tabs from '@theme/Tabs';
+import TabsPanel from '@theme/TabsPanel';
+
+## Dart
+
+Dart libraries are built and supported by the community.
+
+```bash
+dart pub add supabase
+```
+
+Find the source code on [GitHub](https://github.com/supabase/supabase-dart).
+
+## Flutter
+
+For Flutter project, you can use [supabase_flutter](https://github.com/supabase/supabase-flutter).
+
+```bash
+flutter pub add supabase_flutter
+```
+
+`supabase_flutter` plugin uses `supabase` plugin internally, and it adds some Flutter specific functionality such as handling deeplinks coming back from magic link verifications.
+If you are creating a Flutter application, we recommend using `supabase_flutter` instead of `supabase`.
+
+For the most part `supabase_flutter` shares the same API as `supabase` with few exceptions such as initialization or OAuth sign in.
\ No newline at end of file
diff --git a/apps/temp-docs/docs/dart/is_.mdx b/apps/temp-docs/docs/dart/is_.mdx
new file mode 100644
index 00000000000..c1d5af70780
--- /dev/null
+++ b/apps/temp-docs/docs/dart/is_.mdx
@@ -0,0 +1,148 @@
+---
+id: is_
+title: ".is_()"
+slug: is_
+custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/dart.yml
+---
+
+import Tabs from '@theme/Tabs';
+import TabsPanel from '@theme/TabsPanel';
+
+A check for exact equality (null, true, false), finds all rows whose value on the stated `column` exactly match the specified `value`.
+
+`is_` and `in_` filter methods are suffixed with `_` to avoid collisions with reserved keywords.
+
+
+
+
+
+
+```dart
+final res = await supabase
+ .from('cities')
+ .select('name, country_id')
+ .is_('name', null)
+ .execute();
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+## Examples
+
+### With `select()`
+
+
+
+
+
+
+
+```dart
+final res = await supabase
+ .from('cities')
+ .select('name, country_id')
+ .is_('name', null)
+ .execute();
+```
+
+
+
+
+
+
+### With `update()`
+
+
+
+
+
+
+
+```dart
+final res = await supabase
+ .from('cities')
+ .update({ 'name': 'Mordor' })
+ .is_('name', null)
+ .execute();
+```
+
+
+
+
+
+
+### With `delete()`
+
+
+
+
+
+
+
+```dart
+final res = await supabase
+ .from('cities')
+ .delete()
+ .is_('name', null)
+ .execute();
+```
+
+
+
+
+
+
+### With `rpc()`
+
+
+
+
+
+
+
+```dart
+// Only valid if the Stored Procedure returns a table type.
+final res = await supabase
+ .rpc('echo_all_cities')
+ .is_('name', null)
+ .execute();
+```
+
+
+
+
+
\ No newline at end of file
diff --git a/apps/temp-docs/docs/dart/like.mdx b/apps/temp-docs/docs/dart/like.mdx
new file mode 100644
index 00000000000..4fae8c3c8c7
--- /dev/null
+++ b/apps/temp-docs/docs/dart/like.mdx
@@ -0,0 +1,191 @@
+---
+id: like
+title: ".like()"
+slug: like
+custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/dart.yml
+---
+
+import Tabs from '@theme/Tabs';
+import TabsPanel from '@theme/TabsPanel';
+
+Finds all rows whose value in the stated `column` matches the supplied `pattern` (case sensitive).
+
+
+
+
+
+
+```dart
+final res = await supabase
+ .from('cities')
+ .select('name, country_id')
+ .like('name', '%la%')
+ .execute();
+```
+
+
+
+
+
+
+## Parameters
+
+
+
+
+
+
+
+ column
+
+
+ required
+
+
+ object
+
+
+
+
+The column to filter on.
+
+
+
+
+
+
+
+
+
+ pattern
+
+
+ required
+
+
+ string
+
+
+
+
+The pattern to filter with.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+## Examples
+
+### With `select()`
+
+
+
+
+
+
+
+```dart
+final res = await supabase
+ .from('cities')
+ .select('name, country_id')
+ .like('name', '%la%')
+ .execute();
+```
+
+
+
+
+
+
+### With `update()`
+
+
+
+
+
+
+
+```dart
+final res = await supabase
+ .from('cities')
+ .update({ 'name': 'Mordor' })
+ .like('name', '%la%')
+ .execute();
+```
+
+
+
+
+
+
+### With `delete()`
+
+
+
+
+
+
+
+```dart
+final res = await supabase
+ .from('cities')
+ .delete()
+ .like('name', '%la%')
+ .execute();
+```
+
+
+
+
+
+
+### With `rpc()`
+
+
+
+
+
+
+
+```dart
+// Only valid if the Stored Procedure returns a table type.
+final res = await supabase
+ .rpc('echo_all_cities')
+ .like('name', '%la%')
+ .execute();
+```
+
+
+
+
+
\ No newline at end of file
diff --git a/apps/temp-docs/docs/dart/limit.mdx b/apps/temp-docs/docs/dart/limit.mdx
new file mode 100644
index 00000000000..2a22a201405
--- /dev/null
+++ b/apps/temp-docs/docs/dart/limit.mdx
@@ -0,0 +1,99 @@
+---
+id: limit
+title: "limit()"
+slug: limit
+custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/dart.yml
+---
+
+import Tabs from '@theme/Tabs';
+import TabsPanel from '@theme/TabsPanel';
+
+Limits the result with the specified count.
+
+
+
+
+
+
+```dart
+final res = await supabase
+ .from('cities')
+ .select('name, country_id')
+ .limit(1)
+ .execute();
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+## Examples
+
+### With `select()`
+
+
+
+
+
+
+
+```dart
+final res = await supabase
+ .from('cities')
+ .select('name, country_id')
+ .limit(1)
+ .execute();
+```
+
+
+
+
+
+
+### With embedded resources
+
+
+
+
+
+
+
+```dart
+final res = await supabase
+ .from('countries')
+ .select('name, cities(name)')
+ .eq('name', 'United States')
+ .limit(1, foreignTable: 'cities' )
+ .execute();
+```
+
+
+
+
+
\ No newline at end of file
diff --git a/apps/temp-docs/docs/dart/lt.mdx b/apps/temp-docs/docs/dart/lt.mdx
new file mode 100644
index 00000000000..b98cd7589b7
--- /dev/null
+++ b/apps/temp-docs/docs/dart/lt.mdx
@@ -0,0 +1,146 @@
+---
+id: lt
+title: ".lt()"
+slug: lt
+custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/dart.yml
+---
+
+import Tabs from '@theme/Tabs';
+import TabsPanel from '@theme/TabsPanel';
+
+Finds all rows whose value on the stated `column` is less than the specified `value`.
+
+
+
+
+
+
+```dart
+final res = await supabase
+ .from('cities')
+ .select('name, country_id')
+ .lt('country_id', 250)
+ .execute();
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+## Examples
+
+### With `select()`
+
+
+
+
+
+
+
+```dart
+final res = await supabase
+ .from('cities')
+ .select('name, country_id')
+ .lt('country_id', 250)
+ .execute();
+```
+
+
+
+
+
+
+### With `update()`
+
+
+
+
+
+
+
+```dart
+final res = await supabase
+ .from('cities')
+ .update({ 'name': 'Mordor' })
+ .lt('country_id', 250)
+ .execute();
+```
+
+
+
+
+
+
+### With `delete()`
+
+
+
+
+
+
+
+```dart
+final res = await supabase
+ .from('cities')
+ .delete()
+ .lt('country_id', 250)
+ .execute();
+```
+
+
+
+
+
+
+### With `rpc()`
+
+
+
+
+
+
+
+```dart
+// Only valid if the Stored Procedure returns a table type.
+final res = await supabase
+ .rpc('echo_all_cities')
+ .lt('country_id', 250)
+ .execute();
+```
+
+
+
+
+
\ No newline at end of file
diff --git a/apps/temp-docs/docs/dart/lte.mdx b/apps/temp-docs/docs/dart/lte.mdx
new file mode 100644
index 00000000000..8337ccc9a89
--- /dev/null
+++ b/apps/temp-docs/docs/dart/lte.mdx
@@ -0,0 +1,191 @@
+---
+id: lte
+title: ".lte()"
+slug: lte
+custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/dart.yml
+---
+
+import Tabs from '@theme/Tabs';
+import TabsPanel from '@theme/TabsPanel';
+
+Finds all rows whose value on the stated `column` is less than or equal to the specified `value`.
+
+
+
+
+
+
+```dart
+final res = await supabase
+ .from('cities')
+ .select('name, country_id')
+ .lte('country_id', 250)
+ .execute();
+```
+
+
+
+
+
+
+## Parameters
+
+
+
+
+
+
+
+ column
+
+
+ required
+
+
+ object
+
+
+
+
+The column to filter on.
+
+
+
+
+
+
+
+
+
+ value
+
+
+ required
+
+
+ object
+
+
+
+
+The value to filter with.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+## Examples
+
+### With `select()`
+
+
+
+
+
+
+
+```dart
+final res = await supabase
+ .from('cities')
+ .select('name, country_id')
+ .lte('country_id', 250)
+ .execute();
+```
+
+
+
+
+
+
+### With `update()`
+
+
+
+
+
+
+
+```dart
+final res = await supabase
+ .from('cities')
+ .update({ 'name': 'Mordor' })
+ .lte('country_id', 250)
+ .execute();
+```
+
+
+
+
+
+
+### With `delete()`
+
+
+
+
+
+
+
+```dart
+final res = await supabase
+ .from('cities')
+ .delete()
+ .lte('country_id', 250)
+ .execute();
+```
+
+
+
+
+
+
+### With `rpc()`
+
+
+
+
+
+
+
+```dart
+// Only valid if the Stored Procedure returns a table type.
+final res = await supabase
+ .rpc('echo_all_cities')
+ .lte('country_id', 250)
+ .execute();
+```
+
+
+
+
+
\ No newline at end of file
diff --git a/apps/temp-docs/docs/dart/match.mdx b/apps/temp-docs/docs/dart/match.mdx
new file mode 100644
index 00000000000..69f9a18c47d
--- /dev/null
+++ b/apps/temp-docs/docs/dart/match.mdx
@@ -0,0 +1,146 @@
+---
+id: match
+title: ".match()"
+slug: match
+custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/dart.yml
+---
+
+import Tabs from '@theme/Tabs';
+import TabsPanel from '@theme/TabsPanel';
+
+Finds all rows whose columns match the specified `query` object.
+
+
+
+
+
+
+```dart
+final res = await supabase
+ .from('cities')
+ .select('name, country_id')
+ .match({'name': 'Beijing', 'country_id': 156})
+ .execute();
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+## Examples
+
+### With `select()`
+
+
+
+
+
+
+
+```dart
+final res = await supabase
+ .from('cities')
+ .select('name, country_id')
+ .match({'name': 'Beijing', 'country_id': 156})
+ .execute();
+```
+
+
+
+
+
+
+### With `update()`
+
+
+
+
+
+
+
+```dart
+final res = await supabase
+ .from('cities')
+ .update({ 'name': 'Mordor' })
+ .match({'name': 'Beijing', 'country_id': 156})
+ .execute();
+```
+
+
+
+
+
+
+### With `delete()`
+
+
+
+
+
+
+
+```dart
+final res = await supabase
+ .from('cities')
+ .delete()
+ .match({'name': 'Beijing', 'country_id': 156})
+ .execute();
+```
+
+
+
+
+
+
+### With `rpc()`
+
+
+
+
+
+
+
+```dart
+// Only valid if the Stored Procedure returns a table type.
+final res = await supabase
+ .rpc('echo_all_cities')
+ .match({'name': 'Beijing', 'country_id': 156})
+ .execute();
+```
+
+
+
+
+
\ No newline at end of file
diff --git a/apps/temp-docs/docs/dart/neq.mdx b/apps/temp-docs/docs/dart/neq.mdx
new file mode 100644
index 00000000000..92654e12b36
--- /dev/null
+++ b/apps/temp-docs/docs/dart/neq.mdx
@@ -0,0 +1,146 @@
+---
+id: neq
+title: ".neq()"
+slug: neq
+custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/dart.yml
+---
+
+import Tabs from '@theme/Tabs';
+import TabsPanel from '@theme/TabsPanel';
+
+Finds all rows whose value on the stated `column` doesn't match the specified `value`.
+
+
+
+
+
+
+```dart
+final res = await supabase
+ .from('cities')
+ .select('name, country_id')
+ .neq('name', 'The shire')
+ .execute();
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+## Examples
+
+### With `select()`
+
+
+
+
+
+
+
+```dart
+final res = await supabase
+ .from('cities')
+ .select('name, country_id')
+ .neq('name', 'The shire')
+ .execute();
+```
+
+
+
+
+
+
+### With `update()`
+
+
+
+
+
+
+
+```dart
+final res = await supabase
+ .from('cities')
+ .update({ 'name': 'Mordor' })
+ .neq('name', 'San Francisco')
+ .execute();
+```
+
+
+
+
+
+
+### With `delete()`
+
+
+
+
+
+
+
+```dart
+final res = await supabase
+ .from('cities')
+ .delete()
+ .neq('name', 'Mordor')
+ .execute();
+```
+
+
+
+
+
+
+### With `rpc()`
+
+
+
+
+
+
+
+```dart
+// Only valid if the Stored Procedure returns a table type.
+final res = await supabase
+ .rpc('echo_all_cities')
+ .neq('name', 'Lagos')
+ .execute();
+```
+
+
+
+
+
\ No newline at end of file
diff --git a/apps/temp-docs/docs/dart/not.mdx b/apps/temp-docs/docs/dart/not.mdx
new file mode 100644
index 00000000000..cc41b7f6038
--- /dev/null
+++ b/apps/temp-docs/docs/dart/not.mdx
@@ -0,0 +1,146 @@
+---
+id: not
+title: ".not()"
+slug: not
+custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/dart.yml
+---
+
+import Tabs from '@theme/Tabs';
+import TabsPanel from '@theme/TabsPanel';
+
+Finds all rows which doesn't satisfy the filter.
+
+
+
+
+
+
+```dart
+final res = await supabase
+ .from('cities')
+ .select('name, country_id')
+ .not('name', 'eq', 'Paris')
+ .execute();
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+## Examples
+
+### With `select()`
+
+
+
+
+
+
+
+```dart
+final res = await supabase
+ .from('cities')
+ .select('name, country_id')
+ .not('name', 'eq', 'Paris')
+ .execute();
+```
+
+
+
+
+
+
+### With `update()`
+
+
+
+
+
+
+
+```dart
+final res = await supabase
+ .from('cities')
+ .update({ 'name': 'Mordor' })
+ .not('name', 'eq', 'Paris')
+ .execute();
+```
+
+
+
+
+
+
+### With `delete()`
+
+
+
+
+
+
+
+```dart
+final res = await supabase
+ .from('cities')
+ .delete()
+ .not('name', 'eq', 'Paris')
+ .execute();
+```
+
+
+
+
+
+
+### With `rpc()`
+
+
+
+
+
+
+
+```dart
+// Only valid if the Stored Procedure returns a table type.
+final res = await supabase
+ .rpc('echo_all_cities)
+ .not('name', 'eq', 'Paris')
+ .execute();
+```
+
+
+
+
+
\ No newline at end of file
diff --git a/apps/temp-docs/docs/dart/or.mdx b/apps/temp-docs/docs/dart/or.mdx
new file mode 100644
index 00000000000..4852ebc659b
--- /dev/null
+++ b/apps/temp-docs/docs/dart/or.mdx
@@ -0,0 +1,98 @@
+---
+id: or
+title: ".or()"
+slug: or
+custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/dart.yml
+---
+
+import Tabs from '@theme/Tabs';
+import TabsPanel from '@theme/TabsPanel';
+
+Finds all rows satisfying at least one of the filters.
+
+
+
+
+
+
+```dart
+final res = await supabase
+ .from('cities')
+ .select('name, country_id')
+ .or('id.eq.20,id.eq.30')
+ .execute();
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+## Examples
+
+### With `select()`
+
+
+
+
+
+
+
+```dart
+final res = await supabase
+ .from('cities')
+ .select('name, country_id')
+ .or('id.eq.20,id.eq.30')
+ .execute();
+```
+
+
+
+
+
+
+### Use `or` with `and`
+
+
+
+
+
+
+
+```dart
+final res = await supabase
+ .from('cities')
+ .select('name, country_id')
+ .or('id.gt.20,and(name.eq.New Zealand,name.eq.France)')
+ .execute();
+```
+
+
+
+
+
\ No newline at end of file
diff --git a/apps/temp-docs/docs/dart/order.mdx b/apps/temp-docs/docs/dart/order.mdx
new file mode 100644
index 00000000000..18daaacd619
--- /dev/null
+++ b/apps/temp-docs/docs/dart/order.mdx
@@ -0,0 +1,99 @@
+---
+id: order
+title: "order()"
+slug: order
+custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/dart.yml
+---
+
+import Tabs from '@theme/Tabs';
+import TabsPanel from '@theme/TabsPanel';
+
+Orders the result with the specified column.
+
+
+
+
+
+
+```dart
+final res = await supabase
+ .from('cities')
+ .select('name, country_id')
+ .order('id', ascending: false )
+ .execute();
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+## Examples
+
+### With `select()`
+
+
+
+
+
+
+
+```dart
+final res = await supabase
+ .from('cities')
+ .select('name, country_id')
+ .order('id', ascending: false )
+ .execute();
+```
+
+
+
+
+
+
+### With embedded resources
+
+
+
+
+
+
+
+```dart
+final res = await supabase
+ .from('countries')
+ .select('name, cities(name)')
+ .eq('name', 'United States')
+ .order('name', foreignTable: 'cities')
+ .execute();
+```
+
+
+
+
+
\ No newline at end of file
diff --git a/apps/temp-docs/docs/dart/overlaps.mdx b/apps/temp-docs/docs/dart/overlaps.mdx
new file mode 100644
index 00000000000..d7ca0f689b2
--- /dev/null
+++ b/apps/temp-docs/docs/dart/overlaps.mdx
@@ -0,0 +1,145 @@
+---
+id: overlaps
+title: ".overlaps()"
+slug: overlaps
+custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/dart.yml
+---
+
+import Tabs from '@theme/Tabs';
+import TabsPanel from '@theme/TabsPanel';
+
+
+
+
+
+
+
+```dart
+final res = await supabase
+ .from('countries')
+ .select('name, id, main_exports')
+ .overlaps('main_exports', ['computers', 'minerals'])
+ .execute();
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+## Examples
+
+### With `select()`
+
+
+
+
+
+
+
+```dart
+final res = await supabase
+ .from('countries')
+ .select('name, id, main_exports')
+ .overlaps('main_exports', ['computers', 'minerals'])
+ .execute();
+```
+
+
+
+
+
+
+### With `update()`
+
+
+
+
+
+
+
+```dart
+final res = await supabase
+ .from('countries')
+ .update({ 'name': 'Mordor' })
+ .overlaps('main_exports', ['computers', 'minerals'])
+ .execute();
+```
+
+
+
+
+
+
+### With `delete()`
+
+
+
+
+
+
+
+```dart
+final res = await supabase
+ .from('countries')
+ .delete()
+ .overlaps('main_exports', ['computers', 'minerals'])
+ .execute();
+```
+
+
+
+
+
+
+### With `rpc()`
+
+
+
+
+
+
+
+```dart
+// Only valid if the Stored Procedure returns a table type.
+final res = await supabase
+ .rpc('echo_all_countries')
+ .overlaps('main_exports', ['computers', 'minerals'])
+ .execute();
+```
+
+
+
+
+
\ No newline at end of file
diff --git a/apps/temp-docs/docs/dart/range.mdx b/apps/temp-docs/docs/dart/range.mdx
new file mode 100644
index 00000000000..affd16f8583
--- /dev/null
+++ b/apps/temp-docs/docs/dart/range.mdx
@@ -0,0 +1,74 @@
+---
+id: range
+title: "range()"
+slug: range
+custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/dart.yml
+---
+
+import Tabs from '@theme/Tabs';
+import TabsPanel from '@theme/TabsPanel';
+
+Limits the result to rows within the specified range, inclusive.
+
+
+
+
+
+
+```dart
+final res = await supabase
+ .from('cities')
+ .select('name, country_id')
+ .range(0,3)
+ .execute();
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+## Examples
+
+### With `select()`
+
+
+
+
+
+
+
+```dart
+final res = await supabase
+ .from('cities')
+ .select('name, country_id')
+ .range(0,3)
+ .execute();
+```
+
+
+
+
+
\ No newline at end of file
diff --git a/apps/temp-docs/docs/dart/rangeadjacent.mdx b/apps/temp-docs/docs/dart/rangeadjacent.mdx
new file mode 100644
index 00000000000..f31f4f505e9
--- /dev/null
+++ b/apps/temp-docs/docs/dart/rangeadjacent.mdx
@@ -0,0 +1,145 @@
+---
+id: rangeadjacent
+title: ".rangeAdjacent()"
+slug: rangeadjacent
+custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/dart.yml
+---
+
+import Tabs from '@theme/Tabs';
+import TabsPanel from '@theme/TabsPanel';
+
+
+
+
+
+
+
+```dart
+final res = await supabase
+ .from('countries')
+ .select('name, id, population_range_millions')
+ .rangeAdjacent('population_range_millions', '[70, 185]')
+ .execute();
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+## Examples
+
+### With `select()`
+
+
+
+
+
+
+
+```dart
+final res = await supabase
+ .from('countries')
+ .select('name, id, population_range_millions')
+ .rangeAdjacent('population_range_millions', '[70, 185]')
+ .execute();
+```
+
+
+
+
+
+
+### With `update()`
+
+
+
+
+
+
+
+```dart
+final res = await supabase
+ .from('countries')
+ .update({ 'name': 'Mordor' })
+ .rangeAdjacent('population_range_millions', '[70, 185]')
+ .execute();
+```
+
+
+
+
+
+
+### With `delete()`
+
+
+
+
+
+
+
+```dart
+final res = await supabase
+ .from('countries')
+ .delete()
+ .rangeAdjacent('population_range_millions', '[70, 185]')
+ .execute();
+```
+
+
+
+
+
+
+### With `rpc()`
+
+
+
+
+
+
+
+```dart
+// Only valid if the Stored Procedure returns a table type.
+final res = await supabase
+ .rpc('echo_all_countries')
+ .rangeAdjacent('population_range_millions', '[70, 185]')
+ .execute();
+```
+
+
+
+
+
\ No newline at end of file
diff --git a/apps/temp-docs/docs/dart/rangegt.mdx b/apps/temp-docs/docs/dart/rangegt.mdx
new file mode 100644
index 00000000000..6ddd4b34ed8
--- /dev/null
+++ b/apps/temp-docs/docs/dart/rangegt.mdx
@@ -0,0 +1,145 @@
+---
+id: rangegt
+title: ".rangeGt()"
+slug: rangegt
+custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/dart.yml
+---
+
+import Tabs from '@theme/Tabs';
+import TabsPanel from '@theme/TabsPanel';
+
+
+
+
+
+
+
+```dart
+final res = await supabase
+ .from('countries')
+ .select('name, id, population_range_millions')
+ .rangeGt('population_range_millions', '[150, 250]')
+ .execute();
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+## Examples
+
+### With `select()`
+
+
+
+
+
+
+
+```dart
+final res = await supabase
+ .from('countries')
+ .select('name, id, population_range_millions')
+ .rangeGt('population_range_millions', '[150, 250]')
+ .execute();
+```
+
+
+
+
+
+
+### With `update()`
+
+
+
+
+
+
+
+```dart
+final res = await supabase
+ .from('countries')
+ .update({ 'name': 'Mordor' })
+ .rangeGt('population_range_millions', '[150, 250]')
+ .execute();
+```
+
+
+
+
+
+
+### With `delete()`
+
+
+
+
+
+
+
+```dart
+final res = await supabase
+ .from('countries')
+ .delete()
+ .rangeGt('population_range_millions', '[150, 250]')
+ .execute();
+```
+
+
+
+
+
+
+### With `rpc()`
+
+
+
+
+
+
+
+```dart
+// Only valid if the Stored Procedure returns a table type.
+final res = await supabase
+ .rpc('echo_all_countries')
+ .rangeGt('population_range_millions', '[150, 250]')
+ .execute();
+```
+
+
+
+
+
\ No newline at end of file
diff --git a/apps/temp-docs/docs/dart/rangegte.mdx b/apps/temp-docs/docs/dart/rangegte.mdx
new file mode 100644
index 00000000000..3a674440832
--- /dev/null
+++ b/apps/temp-docs/docs/dart/rangegte.mdx
@@ -0,0 +1,145 @@
+---
+id: rangegte
+title: ".rangeGte()"
+slug: rangegte
+custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/dart.yml
+---
+
+import Tabs from '@theme/Tabs';
+import TabsPanel from '@theme/TabsPanel';
+
+
+
+
+
+
+
+```dart
+final res = await supabase
+ .from('countries')
+ .select('name, id, population_range_millions')
+ .rangeGte('population_range_millions', '[150, 250]')
+ .execute();
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+## Examples
+
+### With `select()`
+
+
+
+
+
+
+
+```dart
+final res = await supabase
+ .from('countries')
+ .select('name, id, population_range_millions')
+ .rangeGte('population_range_millions', '[150, 250]')
+ .execute();
+```
+
+
+
+
+
+
+### With `update()`
+
+
+
+
+
+
+
+```dart
+final res = await supabase
+ .from('countries')
+ .update({ 'name': 'Mordor' })
+ .rangeGte('population_range_millions', '[150, 250]')
+ .execute();
+```
+
+
+
+
+
+
+### With `delete()`
+
+
+
+
+
+
+
+```dart
+final res = await supabase
+ .from('countries')
+ .delete()
+ .rangeGte('population_range_millions', '[150, 250]')
+ .execute();
+```
+
+
+
+
+
+
+### With `rpc()`
+
+
+
+
+
+
+
+```dart
+// Only valid if the Stored Procedure returns a table type.
+final res = await supabase
+ .rpc('echo_all_countries')
+ .rangeGte('population_range_millions', '[150, 250]')
+ .execute();
+```
+
+
+
+
+
\ No newline at end of file
diff --git a/apps/temp-docs/docs/dart/rangelt.mdx b/apps/temp-docs/docs/dart/rangelt.mdx
new file mode 100644
index 00000000000..43cb40cbd68
--- /dev/null
+++ b/apps/temp-docs/docs/dart/rangelt.mdx
@@ -0,0 +1,145 @@
+---
+id: rangelt
+title: ".rangeLt()"
+slug: rangelt
+custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/dart.yml
+---
+
+import Tabs from '@theme/Tabs';
+import TabsPanel from '@theme/TabsPanel';
+
+
+
+
+
+
+
+```dart
+final res = await supabase
+ .from('countries')
+ .select('name, id, population_range_millions')
+ .rangeLt('population_range_millions', '[150, 250]')
+ .execute();
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+## Examples
+
+### With `select()`
+
+
+
+
+
+
+
+```dart
+final res = await supabase
+ .from('countries')
+ .select('name, id, population_range_millions')
+ .rangeLt('population_range_millions', '[150, 250]')
+ .execute();
+```
+
+
+
+
+
+
+### With `update()`
+
+
+
+
+
+
+
+```dart
+final res = await supabase
+ .from('countries')
+ .update({ 'name': 'Mordor' })
+ .rangeLt('population_range_millions', '[150, 250]')
+ .execute();
+```
+
+
+
+
+
+
+### With `delete()`
+
+
+
+
+
+
+
+```dart
+final res = await supabase
+ .from('countries')
+ .delete()
+ .rangeLt('population_range_millions', '[150, 250]')
+ .execute();
+```
+
+
+
+
+
+
+### With `rpc()`
+
+
+
+
+
+
+
+```dart
+// Only valid if the Stored Procedure returns a table type.
+final res = await supabase
+ .rpc('echo_all_countries')
+ .rangeLt('population_range_millions', '[150, 250]')
+ .execute();
+```
+
+
+
+
+
\ No newline at end of file
diff --git a/apps/temp-docs/docs/dart/rangelte.mdx b/apps/temp-docs/docs/dart/rangelte.mdx
new file mode 100644
index 00000000000..c673b888736
--- /dev/null
+++ b/apps/temp-docs/docs/dart/rangelte.mdx
@@ -0,0 +1,145 @@
+---
+id: rangelte
+title: ".rangeLte()"
+slug: rangelte
+custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/dart.yml
+---
+
+import Tabs from '@theme/Tabs';
+import TabsPanel from '@theme/TabsPanel';
+
+
+
+
+
+
+
+```dart
+final res = await supabase
+ .from('countries')
+ .select('name, id, population_range_millions')
+ .rangeLte('population_range_millions', '[150, 250]')
+ .execute();
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+## Examples
+
+### With `select()`
+
+
+
+
+
+
+
+```dart
+final res = await supabase
+ .from('countries')
+ .select('name, id, population_range_millions')
+ .rangeLte('population_range_millions', '[150, 250]')
+ .execute();
+```
+
+
+
+
+
+
+### With `update()`
+
+
+
+
+
+
+
+```dart
+final res = await supabase
+ .from('countries')
+ .update({ 'name': 'Mordor' })
+ .rangeLte('population_range_millions', '[150, 250]')
+ .execute();
+```
+
+
+
+
+
+
+### With `delete()`
+
+
+
+
+
+
+
+```dart
+final res = await supabase
+ .from('countries')
+ .delete()
+ .rangeLte('population_range_millions', '[150, 250]')
+ .execute();
+```
+
+
+
+
+
+
+### With `rpc()`
+
+
+
+
+
+
+
+```dart
+// Only valid if the Stored Procedure returns a table type.
+final res = await supabase
+ .rpc('echo_all_countries')
+ .rangeLte('population_range_millions', [150, 250])
+ .execute();
+```
+
+
+
+
+
\ No newline at end of file
diff --git a/apps/temp-docs/docs/dart/removesubscription.mdx b/apps/temp-docs/docs/dart/removesubscription.mdx
new file mode 100644
index 00000000000..76504e2880d
--- /dev/null
+++ b/apps/temp-docs/docs/dart/removesubscription.mdx
@@ -0,0 +1,67 @@
+---
+id: removesubscription
+title: "removeSubscription()"
+slug: removesubscription
+custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/dart.yml
+---
+
+import Tabs from '@theme/Tabs';
+import TabsPanel from '@theme/TabsPanel';
+
+Removes an active subscription and returns the number of open connections.
+
+
+
+
+
+
+```dart
+supabase.removeSubscription(mySubscription);
+```
+
+
+
+
+
+
+
+
+
+
+## Notes
+
+- Removing subscriptions is a great way to maintain the performance of your project's database. Supabase will automatically handle cleanup 30 seconds after a user is disconnected, but unused subscriptions may cause degradation as more users are simultaneously subscribed.
+
+
+
+
+
+
+
+
+
+
+## Examples
+
+### Remove a subscription
+
+
+
+
+
+
+
+```dart
+supabase.removeSubscription(mySubscription);
+```
+
+
+
+
+
\ No newline at end of file
diff --git a/apps/temp-docs/docs/dart/reset-password-email.mdx b/apps/temp-docs/docs/dart/reset-password-email.mdx
new file mode 100644
index 00000000000..27086ba3c05
--- /dev/null
+++ b/apps/temp-docs/docs/dart/reset-password-email.mdx
@@ -0,0 +1,114 @@
+---
+id: reset-password-email
+title: "Reset Password (Email)"
+slug: reset-password-email
+custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/dart.yml
+---
+
+import Tabs from '@theme/Tabs';
+import TabsPanel from '@theme/TabsPanel';
+
+Sends a reset request to an email address.
+
+
+
+
+
+
+```dart
+final res = await supabase.auth.api.resetPasswordForEmail('user@example.com');
+
+final error = res.error;
+```
+
+
+
+
+
+
+
+
+
+
+## Notes
+
+Sends a reset request to an email address.
+
+When the user clicks the reset link in the email they will be forwarded to:
+
+`#access_token=x&refresh_token=y&expires_in=z&token_type=bearer&type=recovery`
+
+Your app must detect `type=recovery` in the fragment and display a password reset form to the user.
+
+You should then use the access_token in the url and new password to update the user as follows:
+
+```dart
+final res = await supabase.auth.api.updateUser(
+ accessToken,
+ UserAttributes(password: 'NEW_PASSWORD'),
+);
+```
+
+
+
+
+
+
+
+
+
+
+## Examples
+
+### Reset password
+
+
+
+
+
+
+
+```dart
+final res = await supabase.auth.api.resetPasswordForEmail('user@example.com');
+
+final error = res.error;
+```
+
+
+
+
+
+
+### Reset password for Flutter
+
+
+
+
+
+
+
+You can pass `redirectTo` to open the app via deeplink when user opens the password reset email.
+```dart
+final res = await supabase.auth.api.resetPasswordForEmail(
+ 'user@example.com',
+ options: AuthOptions(redirectTo: kIsWeb
+ ? null
+ : 'io.supabase.flutter://reset-callback/'),
+);
+
+final error = res.error;
+```
+
+
+
+
+
\ No newline at end of file
diff --git a/apps/temp-docs/docs/dart/rpc.mdx b/apps/temp-docs/docs/dart/rpc.mdx
new file mode 100644
index 00000000000..f24ef39b765
--- /dev/null
+++ b/apps/temp-docs/docs/dart/rpc.mdx
@@ -0,0 +1,119 @@
+---
+id: rpc
+title: "Stored Procedures: rpc()"
+slug: rpc
+custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/dart.yml
+---
+
+import Tabs from '@theme/Tabs';
+import TabsPanel from '@theme/TabsPanel';
+
+You can call stored procedures as a "Remote Procedure Call".
+
+That's a fancy way of saying that you can put some logic into your database then call it from anywhere.
+It's especially useful when the logic rarely changes - like password resets and updates.
+
+
+
+
+
+
+```dart
+final res = await supabase
+ .rpc('hello_world')
+ .execute();
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+## Examples
+
+### Call a stored procedure
+
+This is an example invoking a stored procedure.
+
+
+
+
+
+```dart
+final res = await supabase
+ .rpc('hello_world')
+ .execute();
+```
+
+
+
+
+
+
+### With Parameters
+
+
+
+
+
+
+
+```dart
+final res = await supabase
+ .rpc('echo_city', params: { 'name': 'The Shire' })
+ .execute();
+```
+
+
+
+
+
+
+### With count option
+
+You can specify a count option to get the row count along with your data.
+Allowed values for count option are `exact`, `planned` and `estimated`.
+
+
+
+
+
+
+```dart
+final res = await supabase
+ .rpc('hello_world')
+ .execute(count: CountOption.exact);
+```
+
+
+
+
+
\ No newline at end of file
diff --git a/apps/temp-docs/docs/dart/select.mdx b/apps/temp-docs/docs/dart/select.mdx
new file mode 100644
index 00000000000..15037ea81b6
--- /dev/null
+++ b/apps/temp-docs/docs/dart/select.mdx
@@ -0,0 +1,272 @@
+---
+id: select
+title: "Fetch data: select()"
+slug: select
+custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/dart.yml
+---
+
+import Tabs from '@theme/Tabs';
+import TabsPanel from '@theme/TabsPanel';
+
+Performs vertical filtering with SELECT.
+
+
+
+
+
+
+```dart
+final res = await supabase
+ .from('cities')
+ .select()
+ .execute();
+
+final data = res.data;
+final error = res.error;
+```
+
+
+
+
+
+
+
+
+
+
+## Notes
+
+- By default, Supabase projects will return a maximum of 1,000 rows. This setting can be changed in Project API Settings. It's recommended that you keep it low to limit the payload size of accidental or malicious requests. You can use `range()` queries to paginate through your data.
+- `select()` can be combined with [Modifiers](/docs/reference/dart/using-modifiers)
+- `select()` can be combined with [Filters](/docs/reference/dart/using-filters)
+
+
+
+
+
+
+
+
+
+
+## Examples
+
+### Getting your data
+
+
+
+
+
+
+
+```dart
+final res = await supabase
+ .from('cities')
+ .select()
+ .execute();
+
+final data = res.data;
+final error = res.error;
+```
+
+
+
+
+
+
+### Selecting specific columns
+
+You can select specific fields from your tables.
+
+
+
+
+
+```dart
+final res = await supabase
+ .from('cities')
+ .select('name')
+ .execute();
+```
+
+
+
+
+
+
+### Query foreign tables
+
+If your database has relationships, you can query related tables too.
+
+
+
+
+
+```dart
+final res = await supabase
+ .from('countries')
+ .select('''
+ name,
+ cities (
+ name
+ )
+ ''')
+ .execute();
+```
+
+
+
+
+
+
+### Query the same foreign table multiple times
+
+Sometimes you will need to query the same foreign table twice.
+In this case, you can use the name of the joined column to identify
+which join you intend to use. For convenience, you can also give an
+alias for each column. For example, if we had a shop of products,
+and we wanted to get the supplier and the purchaser at the same time
+(both in the users) table:
+
+
+
+
+
+
+```dart
+final res = await supabase
+ .from('products')
+ .select('''
+ id,
+ supplier:supplier_id ( name ),
+ purchaser:purchaser_id ( name )
+ ''')
+ .execute();
+```
+
+
+
+
+
+
+### Filtering with inner joins
+
+If you want to filter a table based on a child table's values you can use the `!inner()` function. For example, if you wanted
+to select all rows in a `message` table which belong to a user with the `username` "Jane":
+
+
+
+
+
+
+
+```
+Not yet implemented
+```
+
+
+
+
+
+
+### Querying with count option
+
+You can get the number of rows by using the count option.
+Allowed values for count option are [exact](https://postgrest.org/en/stable/api.html#exact-count), [planned](https://postgrest.org/en/stable/api.html#planned-count) and [estimated](https://postgrest.org/en/stable/api.html#estimated-count).
+
+
+
+
+
+
+```dart
+final res = await supabase
+ .from('cities')
+ .select('name')
+ .execute(count: CountOption.exact);
+
+final count = res.count;
+```
+
+
+
+
+
+
+### Querying JSON data
+
+If you have data inside of a JSONB column, you can apply select
+and query filters to the data values. Postgres offers a
+[number of operators](https://www.postgresql.org/docs/current/functions-json.html)
+for querying JSON data. Also see
+[PostgREST docs](http://postgrest.org/en/v7.0.0/api.html#json-columns) for more details.
+
+
+
+
+
+
+```dart
+final res = await supabase
+ .from('users')
+ .select('''
+ id, name,
+ address->street
+ ''')
+ .eq('address->postcode', 90210)
+ .execute();
+```
+
+
+
+
+
+
+### Return data as CSV
+
+By default the data is returned in JSON format, however you can also request for it to be returned as Comma Separated Values.
+
+
+
+
+
+
+```dart
+final res = await supabase
+ .from('users')
+ .select()
+ .csv()
+ .execute();
+```
+
+
+
+
+
\ No newline at end of file
diff --git a/apps/temp-docs/docs/dart/single.mdx b/apps/temp-docs/docs/dart/single.mdx
new file mode 100644
index 00000000000..8d201ae0dca
--- /dev/null
+++ b/apps/temp-docs/docs/dart/single.mdx
@@ -0,0 +1,74 @@
+---
+id: single
+title: "single()"
+slug: single
+custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/dart.yml
+---
+
+import Tabs from '@theme/Tabs';
+import TabsPanel from '@theme/TabsPanel';
+
+Retrieves only one row from the result. Result must be one row (e.g. using limit), otherwise this will result in an error.
+
+
+
+
+
+
+```dart
+final res = await supabase
+ .from('cities')
+ .select('name, country_id')
+ .single()
+ .execute();
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+## Examples
+
+### With `select()`
+
+
+
+
+
+
+
+```dart
+final res = await supabase
+ .from('cities')
+ .select('name, country_id')
+ .single()
+ .execute();
+```
+
+
+
+
+
\ No newline at end of file
diff --git a/apps/temp-docs/docs/dart/storage-createbucket.mdx b/apps/temp-docs/docs/dart/storage-createbucket.mdx
new file mode 100644
index 00000000000..01ea9fa63b0
--- /dev/null
+++ b/apps/temp-docs/docs/dart/storage-createbucket.mdx
@@ -0,0 +1,73 @@
+---
+id: storage-createbucket
+title: "createBucket()"
+slug: storage-createbucket
+custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/dart.yml
+---
+
+import Tabs from '@theme/Tabs';
+import TabsPanel from '@theme/TabsPanel';
+
+Creates a new Storage bucket
+
+
+
+
+
+
+```dart
+final res = await supabase
+ .storage
+ .createBucket('avatars');
+```
+
+
+
+
+
+
+
+
+
+
+## Notes
+
+- Policy permissions required:
+ - `buckets` permissions: `insert`
+ - `objects` permissions: none
+
+
+
+
+
+
+
+
+
+
+## Examples
+
+### Create bucket
+
+
+
+
+
+
+
+```dart
+final res = await supabase
+ .storage
+ .createBucket('avatars');
+```
+
+
+
+
+
\ No newline at end of file
diff --git a/apps/temp-docs/docs/dart/storage-deletebucket.mdx b/apps/temp-docs/docs/dart/storage-deletebucket.mdx
new file mode 100644
index 00000000000..60a020ac22b
--- /dev/null
+++ b/apps/temp-docs/docs/dart/storage-deletebucket.mdx
@@ -0,0 +1,73 @@
+---
+id: storage-deletebucket
+title: "deleteBucket()"
+slug: storage-deletebucket
+custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/dart.yml
+---
+
+import Tabs from '@theme/Tabs';
+import TabsPanel from '@theme/TabsPanel';
+
+Deletes an existing bucket. A bucket can't be deleted with existing objects inside it. You must first `empty()` the bucket.
+
+
+
+
+
+
+```dart
+final res = await supabase
+ .storage
+ .deleteBucket('avatars');
+```
+
+
+
+
+
+
+
+
+
+
+## Notes
+
+- Policy permissions required:
+ - `buckets` permissions: `select` and `delete`
+ - `objects` permissions: none
+
+
+
+
+
+
+
+
+
+
+## Examples
+
+### Delete bucket
+
+
+
+
+
+
+
+```dart
+final res = await supabase
+ .storage
+ .deleteBucket('avatars');
+```
+
+
+
+
+
\ No newline at end of file
diff --git a/apps/temp-docs/docs/dart/storage-emptybucket.mdx b/apps/temp-docs/docs/dart/storage-emptybucket.mdx
new file mode 100644
index 00000000000..0476cb9d25c
--- /dev/null
+++ b/apps/temp-docs/docs/dart/storage-emptybucket.mdx
@@ -0,0 +1,73 @@
+---
+id: storage-emptybucket
+title: "emptyBucket()"
+slug: storage-emptybucket
+custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/dart.yml
+---
+
+import Tabs from '@theme/Tabs';
+import TabsPanel from '@theme/TabsPanel';
+
+Removes all objects inside a single bucket.
+
+
+
+
+
+
+```dart
+final res = await supabase
+ .storage
+ .emptyBucket('avatars');
+```
+
+
+
+
+
+
+
+
+
+
+## Notes
+
+- Policy permissions required:
+ - `buckets` permissions: `select`
+ - `objects` permissions: `select` and `delete`
+
+
+
+
+
+
+
+
+
+
+## Examples
+
+### Empty bucket
+
+
+
+
+
+
+
+```dart
+final res = await supabase
+ .storage
+ .emptyBucket('avatars');
+```
+
+
+
+
+
\ No newline at end of file
diff --git a/apps/temp-docs/docs/dart/storage-from-createsignedurl.mdx b/apps/temp-docs/docs/dart/storage-from-createsignedurl.mdx
new file mode 100644
index 00000000000..9609d9a96c6
--- /dev/null
+++ b/apps/temp-docs/docs/dart/storage-from-createsignedurl.mdx
@@ -0,0 +1,79 @@
+---
+id: storage-from-createsignedurl
+title: "from.createSignedUrl()"
+slug: storage-from-createsignedurl
+custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/dart.yml
+---
+
+import Tabs from '@theme/Tabs';
+import TabsPanel from '@theme/TabsPanel';
+
+Create signed url to download file without requiring permissions. This URL can be valid for a set number of seconds.
+
+
+
+
+
+
+```dart
+final res = await supabase
+ .storage
+ .from('avatars')
+ .createSignedUrl('avatar1.png', 60);
+
+final signedURL = res.data;
+```
+
+
+
+
+
+
+
+
+
+
+## Notes
+
+- Policy permissions required:
+ - `buckets` permissions: none
+ - `objects` permissions: `select`
+
+
+
+
+
+
+
+
+
+
+## Examples
+
+### Create Signed URL
+
+
+
+
+
+
+
+```dart
+final res = await supabase
+ .storage
+ .from('avatars')
+ .createSignedUrl('avatar1.png', 60);
+
+final signedURL = res.data;
+```
+
+
+
+
+
\ No newline at end of file
diff --git a/apps/temp-docs/docs/dart/storage-from-download.mdx b/apps/temp-docs/docs/dart/storage-from-download.mdx
new file mode 100644
index 00000000000..f5173ee7804
--- /dev/null
+++ b/apps/temp-docs/docs/dart/storage-from-download.mdx
@@ -0,0 +1,75 @@
+---
+id: storage-from-download
+title: "from.download()"
+slug: storage-from-download
+custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/dart.yml
+---
+
+import Tabs from '@theme/Tabs';
+import TabsPanel from '@theme/TabsPanel';
+
+Downloads a file.
+
+
+
+
+
+
+```dart
+final res = await supabase
+ .storage
+ .from('avatars')
+ .download('avatar1.png');
+```
+
+
+
+
+
+
+
+
+
+
+## Notes
+
+- Policy permissions required:
+ - `buckets` permissions: none
+ - `objects` permissions: `select`
+
+
+
+
+
+
+
+
+
+
+## Examples
+
+### Download file
+
+
+
+
+
+
+
+```dart
+final res = await supabase
+ .storage
+ .from('avatars')
+ .download('avatar1.png');
+```
+
+
+
+
+
\ No newline at end of file
diff --git a/apps/temp-docs/docs/dart/storage-from-getpublicurl.mdx b/apps/temp-docs/docs/dart/storage-from-getpublicurl.mdx
new file mode 100644
index 00000000000..0629c3576bf
--- /dev/null
+++ b/apps/temp-docs/docs/dart/storage-from-getpublicurl.mdx
@@ -0,0 +1,80 @@
+---
+id: storage-from-getpublicurl
+title: "from.getPublicUrl()"
+slug: storage-from-getpublicurl
+custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/dart.yml
+---
+
+import Tabs from '@theme/Tabs';
+import TabsPanel from '@theme/TabsPanel';
+
+Retrieve URLs for assets in public buckets
+
+
+
+
+
+
+```dart
+final res = supabase
+ .storage
+ .from('public-bucket')
+ .getPublicUrl('avatar1.png');
+
+final publicURL = res.data;
+```
+
+
+
+
+
+
+
+
+
+
+## Notes
+
+- The bucket needs to be set to public, either via [updateBucket()](/docs/reference/javascript/storage-updatebucket) or by going to Storage on [app.supabase.io](https://app.supabase.io), clicking the overflow menu on a bucket and choosing "Make public"
+- Policy permissions required:
+ - `buckets` permissions: none
+ - `objects` permissions: none
+
+
+
+
+
+
+
+
+
+
+## Examples
+
+### Returns the URL for an asset in a public bucket
+
+
+
+
+
+
+
+```dart
+final res = supabase
+ .storage
+ .from('public-bucket')
+ .getPublicUrl('avatar1.png');
+
+final publicURL = res.data;
+```
+
+
+
+
+
\ No newline at end of file
diff --git a/apps/temp-docs/docs/dart/storage-from-list.mdx b/apps/temp-docs/docs/dart/storage-from-list.mdx
new file mode 100644
index 00000000000..36c9dc50985
--- /dev/null
+++ b/apps/temp-docs/docs/dart/storage-from-list.mdx
@@ -0,0 +1,75 @@
+---
+id: storage-from-list
+title: "from.list()"
+slug: storage-from-list
+custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/dart.yml
+---
+
+import Tabs from '@theme/Tabs';
+import TabsPanel from '@theme/TabsPanel';
+
+Lists all the files within a bucket.
+
+
+
+
+
+
+```dart
+final res = await supabase
+ .storage
+ .from('avatars')
+ .list();
+```
+
+
+
+
+
+
+
+
+
+
+## Notes
+
+- Policy permissions required:
+ - `buckets` permissions: none
+ - `objects` permissions: `select`
+
+
+
+
+
+
+
+
+
+
+## Examples
+
+### List files in a bucket
+
+
+
+
+
+
+
+```dart
+final res = await supabase
+ .storage
+ .from('avatars')
+ .list();
+```
+
+
+
+
+
\ No newline at end of file
diff --git a/apps/temp-docs/docs/dart/storage-from-move.mdx b/apps/temp-docs/docs/dart/storage-from-move.mdx
new file mode 100644
index 00000000000..7c14443d94a
--- /dev/null
+++ b/apps/temp-docs/docs/dart/storage-from-move.mdx
@@ -0,0 +1,75 @@
+---
+id: storage-from-move
+title: "from.move()"
+slug: storage-from-move
+custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/dart.yml
+---
+
+import Tabs from '@theme/Tabs';
+import TabsPanel from '@theme/TabsPanel';
+
+Moves an existing file, optionally renaming it at the same time.
+
+
+
+
+
+
+```dart
+final res = await supabase
+ .storage
+ .from('avatars')
+ .move('public/avatar1.png', 'private/avatar2.png');
+```
+
+
+
+
+
+
+
+
+
+
+## Notes
+
+- Policy permissions required:
+ - `buckets` permissions: none
+ - `objects` permissions: `update` and `select`
+
+
+
+
+
+
+
+
+
+
+## Examples
+
+### Move file
+
+
+
+
+
+
+
+```dart
+final res = await supabase
+ .storage
+ .from('avatars')
+ .move('public/avatar1.png', 'private/avatar2.png');
+```
+
+
+
+
+
\ No newline at end of file
diff --git a/apps/temp-docs/docs/dart/storage-from-remove.mdx b/apps/temp-docs/docs/dart/storage-from-remove.mdx
new file mode 100644
index 00000000000..083be494c4e
--- /dev/null
+++ b/apps/temp-docs/docs/dart/storage-from-remove.mdx
@@ -0,0 +1,75 @@
+---
+id: storage-from-remove
+title: "from.remove()"
+slug: storage-from-remove
+custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/dart.yml
+---
+
+import Tabs from '@theme/Tabs';
+import TabsPanel from '@theme/TabsPanel';
+
+Deletes files within the same bucket
+
+
+
+
+
+
+```dart
+final res = await supabase
+ .storage
+ .from('avatars')
+ .remove(['avatar1.png']);
+```
+
+
+
+
+
+
+
+
+
+
+## Notes
+
+- Policy permissions required:
+ - `buckets` permissions: none
+ - `objects` permissions: `delete` and `select`
+
+
+
+
+
+
+
+
+
+
+## Examples
+
+### Delete file
+
+
+
+
+
+
+
+```dart
+final res = await supabase
+ .storage
+ .from('avatars')
+ .remove(['avatar1.png']);
+```
+
+
+
+
+
\ No newline at end of file
diff --git a/apps/temp-docs/docs/dart/storage-from-update.mdx b/apps/temp-docs/docs/dart/storage-from-update.mdx
new file mode 100644
index 00000000000..cbe7ccccfd9
--- /dev/null
+++ b/apps/temp-docs/docs/dart/storage-from-update.mdx
@@ -0,0 +1,83 @@
+---
+id: storage-from-update
+title: "from.update()"
+slug: storage-from-update
+custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/dart.yml
+---
+
+import Tabs from '@theme/Tabs';
+import TabsPanel from '@theme/TabsPanel';
+
+Replaces an existing file at the specified path with a new one.
+
+
+
+
+
+
+```dart
+final avatarFile = File('path/to/file');
+final res = await supabase
+ .storage
+ .from('avatars')
+ .update('public/avatar1.png', avatarFile, fileOptions: FileOptions(
+ cacheControl: '3600',
+ upsert: false
+ ));
+```
+
+
+
+
+
+
+
+
+
+
+## Notes
+
+- Policy permissions required:
+ - `buckets` permissions: none
+ - `objects` permissions: `update` and `select`
+
+
+
+
+
+
+
+
+
+
+## Examples
+
+### Update file
+
+
+
+
+
+
+
+```dart
+final avatarFile = File('path/to/file');
+final res = await supabase
+ .storage
+ .from('avatars')
+ .update('public/avatar1.png', avatarFile, fileOptions: FileOptions(
+ cacheControl: '3600',
+ upsert: false
+ ));
+```
+
+
+
+
+
\ No newline at end of file
diff --git a/apps/temp-docs/docs/dart/storage-from-upload.mdx b/apps/temp-docs/docs/dart/storage-from-upload.mdx
new file mode 100644
index 00000000000..59b18350554
--- /dev/null
+++ b/apps/temp-docs/docs/dart/storage-from-upload.mdx
@@ -0,0 +1,152 @@
+---
+id: storage-from-upload
+title: "from.upload()"
+slug: storage-from-upload
+custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/dart.yml
+---
+
+import Tabs from '@theme/Tabs';
+import TabsPanel from '@theme/TabsPanel';
+
+Uploads a file to an existing bucket.
+
+
+
+
+
+
+```dart
+final avatarFile = File('path/to/file');
+final res = await supabase
+ .storage
+ .from('avatars')
+ .upload('public/avatar1.png', avatarFile, fileOptions: FileOptions(
+ cacheControl: '3600',
+ upsert: false
+ ));
+```
+
+
+
+
+
+
+## Parameters
+
+
+
+
+
+
+
+ path
+
+
+ required
+
+
+ string
+
+
+
+
+The relative file path. Should be of the format `folder/subfolder/filename.png`. The bucket must already exist before attempting to upload.
+
+
+
+HTTP headers.
+`cacheControl`: string, the `Cache-Control: max-age=` seconds value.
+`contentType`: string, the `Content-Type` header value. Should be specified if using a `fileBody` that is neither `Blob` nor `File` nor `FormData`, otherwise will default to `text/plain;charset=UTF-8`.
+`upsert`: boolean, whether to perform an upsert.
+
+