start moving CLI to new setup

This commit is contained in:
Jonathan Summers-Muir committed 2022-12-08 23:54:26 +08:00
1 parent e973fc86f6
commit 1d2fb94304
8 files changed
+760 -457

No files matched your search

@@ -0,0 +1,129 @@
import CodeBlock from '~/components/CodeBlock/CodeBlock'
import Options from '~/components/Options'
import Param from '~/components/Params'
import RefSubLayout from '~/layouts/ref/RefSubLayout'
interface ICommonFunc {
id: string
title: string
slug: string
product: string
libs: string
items: ICommonFunc[]
}
interface IRefFunctionSection {
funcData: any
commonFuncData: ICommonFunc
spec: any
}
export type Flag = {
id: string
name: string
description: string
default_value: string
accepted_values: AcceptedValue[]
}
export type AcceptedValue = {
id: string
name: string
type: 'string' | 'boolean' | 'object'
description?: string
}
export type Command = {
id: string
title: string
description: string
flags?: Flag[]
summary: string
tags?: []
links?: []
subcommands?: []
usage?: string
}
const CliCommandSection = (props) => {
const command = props.spec.commands.find((x: any) => x.id === props.funcData.id)
return (
<RefSubLayout.Section
slug={command.id}
title={'$ ' + command.title}
id={command.id}
monoFont={true}
scrollSpyHeader={false}
>
<RefSubLayout.Details>
<div className="grid ref-container" id={command.id}>
<div className="border-b pb-8" key={command.id}>
<header
className={[
// 'border-b sticky top-16 z-10',
' mb-16',
].join(' ')}
>
<p className="capitalize mb-4 scroll-mt-16 mt-0 text-scale-1100 text-base">
{command.summary}
</p>
</header>
{/* {command.usage && (
<CodeBlock language="bash" className="relative">
{command.usage}
</CodeBlock>
)} */}
{command.subcommands.length > 0 && (
<div className="">
<h3 className="text-sm font-bold text-scale-1200 mb-3">Available Commands</h3>
<ul>
{command.subcommands.map((subcommand) => (
<li key={subcommand}>
<a href={`#${subcommand}`}>
<CodeBlock language="bash">{subcommand}</CodeBlock>
</a>
</li>
))}
</ul>
</div>
)}
{command.flags.length > 0 && (
<>
<h3 className="text-lg text-scale-1200 mb-3">Flags</h3>
<ul className="">
{command.flags.map((flag: Flag) => (
<>
<li className="mt-0">
<Param {...flag}>
{flag?.accepted_values && (
<Options>
{flag?.accepted_values.map((value) => {
return <Options.Option {...value} />
})}
</Options>
)}
</Param>
</li>
</>
))}
</ul>
</>
)}
</div>
</div>
</RefSubLayout.Details>
<RefSubLayout.Examples>
{command.usage && (
<CodeBlock language="bash" className="relative">
{command.usage}
</CodeBlock>
)}
</RefSubLayout.Examples>
</RefSubLayout.Section>
)
}
export default CliCommandSection
@@ -6,12 +6,16 @@ import components from '~/components'
import RefEducationSection from '~/components/reference/RefEducationSection'
import RefFunctionSection from '~/components/reference/RefFunctionSection'
import OldLayout from '~/layouts/Default'
import RefSubLayout from '~/layouts/ref/RefSubLayout'
import CliCommandSection from './CLICommandSection'
interface Props {
sections: any[] // to do
spec: any // to do
typeSpec: any // to do
pageProps: any // to do, from staticProps
type: 'client-lib' | 'cli' | 'api'
}
const RefSectionHandler = (props) => {
@@ -41,27 +45,35 @@ const RefSectionHandler = (props) => {
)
}
return props.sections.map((x) => {
switch (x.isFunc) {
case false:
const markdownData = props.pageProps.docs.find((doc) => doc.id === x.id)
console.log(markdownData)
return (
<RefSubLayout>
{props.sections.map((x) => {
switch (x.isFunc) {
case false:
const markdownData = props.pageProps.docs.find((doc) => doc.id === x.id)
console.log(markdownData)
return <RefEducationSection item={x} markdownContent={markdownData} />
break
return <RefEducationSection item={x} markdownContent={markdownData} />
break
default:
return (
<RefFunctionSection
funcData={x}
commonFuncData={x}
spec={props.spec}
typeSpec={props.typeSpec}
/>
)
break
}
})
default:
if (props.type === 'cli') {
return <CliCommandSection funcData={x} commonFuncData={x} spec={props.spec} />
} else {
return (
<RefFunctionSection
funcData={x}
commonFuncData={x}
spec={props.spec}
typeSpec={props.typeSpec}
/>
)
}
break
}
})}
</RefSubLayout>
)
}
export default RefSectionHandler
-28
View File
@@ -1,28 +0,0 @@
---
id: intro
slug: /
sidebar_position: 1
sidebar_label: Supabase CLI
title: Supabase CLI
hide_table_of_contents: true
---
The Supabase CLI provides tools to develop your project locally and deploy to the Supabase Platform.
The CLI is still under development, but it contains all the functionality for working with your Supabase projects and the Supabase Platform.
- Run Supabase locally: [`supabase start`](/docs/reference/cli/usage#supabase-start)
- Manage database migrations: [`supabase migration`](/docs/reference/cli/usage#supabase-migration)
- CI/CD for releasing to production: [`supabase db push`](/docs/reference/cli/usage#supabase-db-push)
- Manage your Supabase projects: [`supabase projects`](/docs/reference/cli/usage#supabase-projects)
- Generate types directly from your database schema: [`supabase gen types`](/docs/reference/cli/usage#supabase-gen)
- A [community-supported GitHub Action](https://github.com/lyqht/generate-supabase-db-types-github-action) to generate TypeScript types
- Shell autocomplete: [`supabase completion`](/docs/reference/cli/usage#supabase-completion)
- A [community-supported Fig autocomplete spec](https://fig.io/manual/supabase) for macOS terminal
## Additional Links
- [Install the Supabase CLI](/docs/guides/cli)
- [Source code](https://github.com/supabase/cli)
- [Known bugs and issues](https://github.com/supabase/cli/issues)
- [Supabase CLI v1 and Management API Beta](https://supabase.com/blog/supabase-cli-v1-and-admin-api-beta)
- [The CLI team announcing CLI V1 and Management API Beta - Video](https://www.youtube.com/watch?v=OpPOaJI_Z28)
+40
View File
@@ -0,0 +1,40 @@
---
id: intro
slug: /
sidebar_position: 1
sidebar_label: Supabase CLI
title: Supabase CLI
hide_table_of_contents: true
---
<RefSubLayout.EducationRow>
<RefSubLayout.Details>
The Supabase CLI provides tools to develop your project locally and deploy to the Supabase Platform.
The CLI is still under development, but it contains all the functionality for working with your Supabase projects and the Supabase Platform.
- Run Supabase locally: [`supabase start`](/docs/reference/cli/usage#supabase-start)
- Manage database migrations: [`supabase migration`](/docs/reference/cli/usage#supabase-migration)
- CI/CD for releasing to production: [`supabase db push`](/docs/reference/cli/usage#supabase-db-push)
- Manage your Supabase projects: [`supabase projects`](/docs/reference/cli/usage#supabase-projects)
- Generate types directly from your database schema: [`supabase gen types`](/docs/reference/cli/usage#supabase-gen)
- A [community-supported GitHub Action](https://github.com/lyqht/generate-supabase-db-types-github-action) to generate TypeScript types
- Shell autocomplete: [`supabase completion`](/docs/reference/cli/usage#supabase-completion)
- A [community-supported Fig autocomplete spec](https://fig.io/manual/supabase) for macOS terminal
</RefSubLayout.Details>
<RefSubLayout.Examples>
Additional Links
- [Install the Supabase CLI](/docs/guides/cli)
- [Source code](https://github.com/supabase/cli)
- [Known bugs and issues](https://github.com/supabase/cli/issues)
- [Supabase CLI v1 and Management API Beta](https://supabase.com/blog/supabase-cli-v1-and-admin-api-beta)
- [The CLI team announcing CLI V1 and Management API Beta - Video](https://www.youtube.com/watch?v=OpPOaJI_Z28)
</RefSubLayout.Examples>
</RefSubLayout.EducationRow>
+1 -1
View File
@@ -55,7 +55,7 @@ const Section: FC<ISectionContainer> = (props) => {
<article
key={props.id}
className={`${
props.singleColumn ? 'prose dark:prose-dark py-16 lg:py-32 ' : 'py-16 lg:py-32'
props.singleColumn ? 'prose dark:prose-dark py-16 lg:py-32 w-full' : 'py-16 lg:py-32 w-full'
}`}
>
<StickyHeader {...props} />
+25 -205
View File
@@ -1,7 +1,7 @@
import fs from 'fs'
import matter from 'gray-matter'
// @ts-expect-error
import cliSpec from '~/../../spec/cli_v1_commands_new_shape.yaml' assert { type: 'yml' }
import spec from '~/../../spec/cli_v1_commands_new_shape.yaml' assert { type: 'yml' }
import CodeBlock from '~/components/CodeBlock/CodeBlock'
import Options from '~/components/Options'
import Param from '~/components/Params'
@@ -14,6 +14,15 @@ import { serialize } from 'next-mdx-remote/serialize'
import components from '~/components/index'
import { MDXRemote } from 'next-mdx-remote'
import OldLayout from '~/layouts/Default'
import { flattenSections } from '~/lib/helpers'
import cliCommonSections from '~/../../spec/common-cli-sections.json' assert { type: 'json' }
import CliCommandSection from '~/components/reference/CLICommandSection'
import handleRefGetStaticPaths from '~/lib/mdx/handleRefStaticPaths'
import handleRefStaticProps from '~/lib/mdx/handleRefStaticProps'
import RefSectionHandler from '~/components/reference/RefSectionHandler'
const sections = flattenSections(cliCommonSections)
export type AcceptedValue = {
id: string
@@ -44,6 +53,18 @@ export type Command = {
export default function Config(props) {
console.log(props.docs)
console.log(
spec.commands.map((x) => {
return {
id: x.id,
title: x.title,
slug: x.id,
isFunc: true,
}
})
)
/*
* handle old ref pages
*/
@@ -56,214 +77,13 @@ export default function Config(props) {
)
}
return (
<>
{console.log(props.docs.filter((doc) => doc.introPage))}
<RefSubLayout>
{props.docs
.filter((doc) => doc.introPage)
.map((item) => (
<RefSubLayout.Section
key={item.id}
title={item.meta.title}
id={item.id}
slug={item.id}
scrollSpyHeader={true}
singleColumn={true}
>
<MDXRemote {...item.content} components={components} />
</RefSubLayout.Section>
))}
</RefSubLayout>
<hr />
<RefSubLayout>
<div className="flex">
<div className="w-full">
<div className="grid gap-16">
<h1 className="text-4xl">{cliSpec.info.title}</h1>
<p className="">{cliSpec.info.description}</p>
</div>
<div className="grid gap-32 mx-auto max-w-5xl mt-24">
{cliSpec.commands.map((command: Command, commandIndex) => {
return (
<RefSubLayout.Section
slug={command.id}
title={'$ ' + command.title}
id={command.id}
monoFont={true}
scrollSpyHeader={false}
>
<RefSubLayout.Details>
<div className="grid ref-container" id={command.id}>
<div className="border-b pb-8" key={command.id}>
<header
className={[
// 'border-b sticky top-16 z-10',
' mb-16',
].join(' ')}
>
<p className="capitalize mb-4 scroll-mt-16 mt-0 text-scale-1100 text-base">
{command.summary}
</p>
</header>
{/* {command.usage && (
<CodeBlock language="bash" className="relative">
{command.usage}
</CodeBlock>
)} */}
{command.subcommands.length > 0 && (
<div className="">
<h3 className="text-sm font-bold text-scale-1200 mb-3">
Available Commands
</h3>
<ul>
{command.subcommands.map((subcommand) => (
<li key={subcommand}>
<a href={`#${subcommand}`}>
<CodeBlock language="bash">{subcommand}</CodeBlock>
</a>
</li>
))}
</ul>
</div>
)}
{command.flags.length > 0 && (
<>
<h3 className="text-lg text-scale-1200 mb-3">Flags</h3>
<ul className="">
{command.flags.map((flag: Flag) => (
<>
<li className="mt-0">
<Param {...flag}>
{flag?.accepted_values && (
<Options>
{flag?.accepted_values.map((value) => {
return <Options.Option {...value} />
})}
</Options>
)}
</Param>
</li>
</>
))}
</ul>
</>
)}
</div>
</div>
</RefSubLayout.Details>
<RefSubLayout.Examples>
{command.usage && (
<CodeBlock language="bash" className="relative">
{command.usage}
</CodeBlock>
)}
</RefSubLayout.Examples>
</RefSubLayout.Section>
)
})}
</div>
</div>
</div>
</RefSubLayout>
</>
)
return <RefSectionHandler sections={sections} spec={spec} pageProps={props} type="cli" />
}
export async function getStaticProps({ params }: { params: { slug: string[] } }) {
// an array of ids of the intro sections for this library
const introPages = ['cli']
const specPpages = cliSpec.commands
const pages = [...introPages, ...specPpages]
/**
* Read all the markdown files that might have
* - custom text
* - call outs
* - important notes regarding implementation
*/
const allMarkdownDocs = await Promise.all(
pages.map(async (x, i) => {
const pathName = `docs/ref/cli/${x}.mdx`
function checkFileExists(x) {
// console.log('checking this ', x)
if (fs.existsSync(x)) {
return true
} else {
return false
}
}
const markdownExists = checkFileExists(pathName)
const fileContents = markdownExists ? fs.readFileSync(pathName, 'utf8') : ''
const { data, content } = matter(fileContents)
return {
id: x,
title: x,
// ...content,
meta: data,
introPage: introPages.includes(x),
content: content ? await serialize(content || '') : null,
}
})
)
/*
* old content generation
* this is for grabbing to old markdown files
*/
let slug
if (params.slug.length > 1) {
slug = `docs/reference/cli/${params.slug.join('/')}`
} else {
slug = `docs/reference/cli/${params.slug[0]}`
}
/*
* handle old ref pages
*/
if (process.env.NEXT_PUBLIC_NEW_DOCS === 'false') {
let doc = getDocsBySlug(slug)
const content = await serialize(doc.content || '')
return {
props: {
/*
* old reference docs are below
*/
...doc,
content,
toc: toc(doc.content, { maxdepth: 1, firsth1: false }),
},
}
} else {
return {
props: {
docs: allMarkdownDocs,
},
}
}
return handleRefStaticProps(sections, params, '/cli', '/cli')
}
export function getStaticPaths() {
let docs = getAllDocs()
return {
paths: docs.map(() => {
return {
params: {
slug: docs.map((d) => d.slug),
},
}
}),
fallback: 'blocking',
}
return handleRefGetStaticPaths()
}
+204 -204
View File
@@ -84,6 +84,24 @@
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/handbook/contributing</loc>
<changefreq>weekly</changefreq>
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/handbook/introduction</loc>
<changefreq>weekly</changefreq>
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/handbook/supasquad</loc>
<changefreq>weekly</changefreq>
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/guides/api</loc>
<changefreq>weekly</changefreq>
@@ -228,24 +246,6 @@
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/handbook/contributing</loc>
<changefreq>weekly</changefreq>
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/handbook/introduction</loc>
<changefreq>weekly</changefreq>
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/handbook/supasquad</loc>
<changefreq>weekly</changefreq>
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/tutorials/nextjs</loc>
<changefreq>weekly</changefreq>
@@ -276,12 +276,6 @@
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/guides/api/generating-types</loc>
<changefreq>weekly</changefreq>
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/getting-started/quickstarts/nextjs</loc>
<changefreq>weekly</changefreq>
@@ -300,6 +294,144 @@
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/learn/auth-deep-dive/auth-deep-dive-jwts</loc>
<changefreq>weekly</changefreq>
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/learn/auth-deep-dive/auth-google-oauth</loc>
<changefreq>weekly</changefreq>
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/learn/auth-deep-dive/auth-gotrue</loc>
<changefreq>weekly</changefreq>
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/learn/auth-deep-dive/auth-policies</loc>
<changefreq>weekly</changefreq>
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/learn/auth-deep-dive/auth-row-level-security</loc>
<changefreq>weekly</changefreq>
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/guides/api/generating-types</loc>
<changefreq>weekly</changefreq>
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/guides/cli/local-development</loc>
<changefreq>weekly</changefreq>
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/guides/cli/managing-environments</loc>
<changefreq>weekly</changefreq>
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/guides/database/arrays</loc>
<changefreq>weekly</changefreq>
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/guides/database/connecting-to-postgres</loc>
<changefreq>weekly</changefreq>
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/guides/database/extensions</loc>
<changefreq>weekly</changefreq>
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/guides/database/full-text-search</loc>
<changefreq>weekly</changefreq>
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/guides/database/functions</loc>
<changefreq>weekly</changefreq>
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/guides/database/json</loc>
<changefreq>weekly</changefreq>
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/guides/database/managing-passwords</loc>
<changefreq>weekly</changefreq>
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/guides/database/managing-timezones</loc>
<changefreq>weekly</changefreq>
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/guides/database/overview</loc>
<changefreq>weekly</changefreq>
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/guides/database/replication</loc>
<changefreq>weekly</changefreq>
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/guides/database/sql-to-api</loc>
<changefreq>weekly</changefreq>
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/guides/database/tables</loc>
<changefreq>weekly</changefreq>
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/guides/database/testing</loc>
<changefreq>weekly</changefreq>
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/guides/database/timeouts</loc>
<changefreq>weekly</changefreq>
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/guides/database/webhooks</loc>
<changefreq>weekly</changefreq>
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/guides/auth/auth-apple</loc>
<changefreq>weekly</changefreq>
@@ -486,108 +618,6 @@
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/guides/cli/local-development</loc>
<changefreq>weekly</changefreq>
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/guides/cli/managing-environments</loc>
<changefreq>weekly</changefreq>
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/guides/database/arrays</loc>
<changefreq>weekly</changefreq>
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/guides/database/connecting-to-postgres</loc>
<changefreq>weekly</changefreq>
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/guides/database/extensions</loc>
<changefreq>weekly</changefreq>
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/guides/database/full-text-search</loc>
<changefreq>weekly</changefreq>
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/guides/database/functions</loc>
<changefreq>weekly</changefreq>
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/guides/database/json</loc>
<changefreq>weekly</changefreq>
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/guides/database/managing-passwords</loc>
<changefreq>weekly</changefreq>
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/guides/database/managing-timezones</loc>
<changefreq>weekly</changefreq>
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/guides/database/overview</loc>
<changefreq>weekly</changefreq>
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/guides/database/replication</loc>
<changefreq>weekly</changefreq>
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/guides/database/sql-to-api</loc>
<changefreq>weekly</changefreq>
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/guides/database/tables</loc>
<changefreq>weekly</changefreq>
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/guides/database/testing</loc>
<changefreq>weekly</changefreq>
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/guides/database/timeouts</loc>
<changefreq>weekly</changefreq>
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/guides/database/webhooks</loc>
<changefreq>weekly</changefreq>
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/guides/functions/auth</loc>
<changefreq>weekly</changefreq>
@@ -1002,36 +1032,6 @@
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/learn/auth-deep-dive/auth-deep-dive-jwts</loc>
<changefreq>weekly</changefreq>
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/learn/auth-deep-dive/auth-google-oauth</loc>
<changefreq>weekly</changefreq>
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/learn/auth-deep-dive/auth-gotrue</loc>
<changefreq>weekly</changefreq>
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/learn/auth-deep-dive/auth-policies</loc>
<changefreq>weekly</changefreq>
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/learn/auth-deep-dive/auth-row-level-security</loc>
<changefreq>weekly</changefreq>
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/new/auth/auth-login</loc>
<changefreq>weekly</changefreq>
@@ -1044,6 +1044,42 @@
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/guides/database/extensions/http</loc>
<changefreq>weekly</changefreq>
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/guides/database/extensions/pgcron</loc>
<changefreq>weekly</changefreq>
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/guides/database/extensions/pgnet</loc>
<changefreq>weekly</changefreq>
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/guides/database/extensions/pgtap</loc>
<changefreq>weekly</changefreq>
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/guides/database/extensions/plv8</loc>
<changefreq>weekly</changefreq>
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/guides/database/extensions/uuid-ossp</loc>
<changefreq>weekly</changefreq>
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/guides/auth/auth-helpers/auth-ui</loc>
<changefreq>weekly</changefreq>
@@ -1074,6 +1110,18 @@
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/guides/functions/examples/index</loc>
<changefreq>weekly</changefreq>
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/guides/functions/examples/og-image</loc>
<changefreq>weekly</changefreq>
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/guides/auth/passwordless-login/email-otp-magic-link</loc>
<changefreq>weekly</changefreq>
@@ -1206,54 +1254,6 @@
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/guides/database/extensions/http</loc>
<changefreq>weekly</changefreq>
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/guides/database/extensions/pgcron</loc>
<changefreq>weekly</changefreq>
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/guides/database/extensions/pgnet</loc>
<changefreq>weekly</changefreq>
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/guides/database/extensions/pgtap</loc>
<changefreq>weekly</changefreq>
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/guides/database/extensions/plv8</loc>
<changefreq>weekly</changefreq>
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/guides/database/extensions/uuid-ossp</loc>
<changefreq>weekly</changefreq>
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/guides/functions/examples/index</loc>
<changefreq>weekly</changefreq>
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/guides/functions/examples/og-image</loc>
<changefreq>weekly</changefreq>
<changefreq>0.5</changefreq>
</url>
<url>
<loc>https://supabase.com/docs/guides/resources/migrating-to-supabase/firebase-auth</loc>
<changefreq>weekly</changefreq>
+330
View File
@@ -0,0 +1,330 @@
[
{
"title": "introduction",
"id": "introduction",
"slug": "introduction",
"isFunc": false
},
{
"title": "general",
"items": [
{
"id": "supabase-test",
"title": "supabase test",
"slug": "supabase-test",
"isFunc": true
},
{
"id": "supabase-test-db",
"title": "supabase test db",
"slug": "supabase-test-db",
"isFunc": true
},
{
"id": "supabase-stop",
"title": "supabase stop",
"slug": "supabase-stop",
"isFunc": true
},
{
"id": "supabase-status",
"title": "supabase status",
"slug": "supabase-status",
"isFunc": true
},
{
"id": "supabase-start",
"title": "supabase start",
"slug": "supabase-start",
"isFunc": true
},
{
"id": "supabase-login",
"title": "supabase login",
"slug": "supabase-login",
"isFunc": true
},
{
"id": "supabase-link",
"title": "supabase link",
"slug": "supabase-link",
"isFunc": true
},
{
"id": "supabase-init",
"title": "supabase init",
"slug": "supabase-init",
"isFunc": true
},
{
"id": "supabase-gen",
"title": "supabase gen",
"slug": "supabase-gen",
"isFunc": true
},
{
"id": "supabase-gen-types",
"title": "supabase gen types",
"slug": "supabase-gen-types",
"isFunc": true
},
{
"id": "supabase-gen-types-typescript",
"title": "supabase gen types typescript",
"slug": "supabase-gen-types-typescript",
"isFunc": true
}
]
},
{
"title": "secrets",
"items": [
{
"id": "supabase-secrets",
"title": "supabase secrets",
"slug": "supabase-secrets",
"isFunc": true
},
{
"id": "supabase-secrets-unset",
"title": "supabase secrets unset",
"slug": "supabase-secrets-unset",
"isFunc": true
},
{
"id": "supabase-secrets-set",
"title": "supabase secrets set",
"slug": "supabase-secrets-set",
"isFunc": true
},
{
"id": "supabase-secrets-list",
"title": "supabase secrets list",
"slug": "supabase-secrets-list",
"isFunc": true
}
]
},
{
"title": "projects",
"items": [
{
"id": "supabase-projects",
"title": "supabase projects",
"slug": "supabase-projects",
"isFunc": true
},
{
"id": "supabase-projects-list",
"title": "supabase projects list",
"slug": "supabase-projects-list",
"isFunc": true
},
{
"id": "supabase-projects-create",
"title": "supabase projects create",
"slug": "supabase-projects-create",
"isFunc": true
}
]
},
{
"title": "organizations",
"items": [
{
"id": "supabase-orgs",
"title": "supabase orgs",
"slug": "supabase-orgs",
"isFunc": true
},
{
"id": "supabase-orgs-list",
"title": "supabase orgs list",
"slug": "supabase-orgs-list",
"isFunc": true
}
]
},
{
"title": "migrations",
"items": [
{
"id": "supabase-migration",
"title": "supabase migration",
"slug": "supabase-migration",
"isFunc": true
},
{
"id": "supabase-migration-new",
"title": "supabase migration new",
"slug": "supabase-migration-new",
"isFunc": true
},
{
"id": "supabase-migration-list",
"title": "supabase migration list",
"slug": "supabase-migration-list",
"isFunc": true
}
]
},
{
"title": "Edge Functions",
"items": [
{
"id": "supabase-functions",
"title": "supabase functions",
"slug": "supabase-functions",
"isFunc": true
},
{
"id": "supabase-functions-serve",
"title": "supabase functions serve",
"slug": "supabase-functions-serve",
"isFunc": true
},
{
"id": "supabase-functions-new",
"title": "supabase functions new",
"slug": "supabase-functions-new",
"isFunc": true
},
{
"id": "supabase-functions-deploy",
"title": "supabase functions deploy",
"slug": "supabase-functions-deploy",
"isFunc": true
},
{
"id": "supabase-functions-delete",
"title": "supabase functions delete",
"slug": "supabase-functions-delete",
"isFunc": true
}
]
},
{
"title": "Domains",
"Items": [
{
"id": "supabase-domains",
"title": "supabase domains",
"slug": "supabase-domains",
"isFunc": true
},
{
"id": "supabase-domains-reverify",
"title": "supabase domains reverify",
"slug": "supabase-domains-reverify",
"isFunc": true
},
{
"id": "supabase-domains-get",
"title": "supabase domains get",
"slug": "supabase-domains-get",
"isFunc": true
},
{
"id": "supabase-domains-delete",
"title": "supabase domains delete",
"slug": "supabase-domains-delete",
"isFunc": true
},
{
"id": "supabase-domains-create",
"title": "supabase domains create",
"slug": "supabase-domains-create",
"isFunc": true
},
{
"id": "supabase-domains-activate",
"title": "supabase domains activate",
"slug": "supabase-domains-activate",
"isFunc": true
}
]
},
{
"title": "Database",
"items": [
{ "id": "supabase-db", "title": "supabase db", "slug": "supabase-db", "isFunc": true },
{
"id": "supabase-db-reset",
"title": "supabase db reset",
"slug": "supabase-db-reset",
"isFunc": true
},
{
"id": "supabase-db-remote",
"title": "supabase db remote",
"slug": "supabase-db-remote",
"isFunc": true
},
{
"id": "supabase-db-remote-commit",
"title": "supabase db remote commit",
"slug": "supabase-db-remote-commit",
"isFunc": true
},
{
"id": "supabase-db-remote-changes",
"title": "supabase db remote changes",
"slug": "supabase-db-remote-changes",
"isFunc": true
},
{
"id": "supabase-db-push",
"title": "supabase db push",
"slug": "supabase-db-push",
"isFunc": true
},
{
"id": "supabase-db-lint",
"title": "supabase db lint",
"slug": "supabase-db-lint",
"isFunc": true
},
{
"id": "supabase-db-diff",
"title": "supabase db diff",
"slug": "supabase-db-diff",
"isFunc": true
}
]
},
{
"title": "Completion",
"items": [
{
"id": "supabase-completion",
"title": "supabase completion",
"slug": "supabase-completion",
"isFunc": true
},
{
"id": "supabase-completion-zsh",
"title": "supabase completion zsh",
"slug": "supabase-completion-zsh",
"isFunc": true
},
{
"id": "supabase-completion-powershell",
"title": "supabase completion powershell",
"slug": "supabase-completion-powershell",
"isFunc": true
},
{
"id": "supabase-completion-fish",
"title": "supabase completion fish",
"slug": "supabase-completion-fish",
"isFunc": true
},
{
"id": "supabase-completion-bash",
"title": "supabase completion bash",
"slug": "supabase-completion-bash",
"isFunc": true
}
]
}
]