mirror of
https://github.com/supabase/supabase.git
synced 2026-10-05 01:15:03 +03:00
start moving CLI to new setup
This commit is contained in:
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
|
||||
@@ -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)
|
||||
@@ -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>
|
||||
@@ -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} />
|
||||
|
||||
@@ -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
@@ -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>
|
||||
|
||||
@@ -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
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
Reference in new issue
Block a user