mirror of
https://github.com/supabase/supabase.git
synced 2026-10-05 09:25:06 +03:00
Update docs url to env var (#38772)
* Update Supabase docs URLs to use env variable Co-authored-by: a <a@alaisteryoung.com> * Refactor: Use DOCS_URL constant for documentation links This change centralizes documentation links using a new DOCS_URL constant, improving maintainability and consistency. Co-authored-by: a <a@alaisteryoung.com> * Refactor: Use DOCS_URL constant for all documentation links This change replaces hardcoded documentation URLs with a centralized constant, improving maintainability and consistency. Co-authored-by: a <a@alaisteryoung.com> * replace more instances * ci: Autofix updates from GitHub workflow * remaining instances * fix duplicate useRouter --------- Co-authored-by: Cursor Agent <cursoragent@cursor.com> Co-authored-by: alaister <10985857+alaister@users.noreply.github.com>
This commit is contained in:
182 files changed
+744
-686
No files matched your search
@@ -14,6 +14,7 @@ import Link from 'next/link'
|
||||
|
||||
import { LINTER_LEVELS, LintInfo } from 'components/interfaces/Linter/Linter.constants'
|
||||
import { LINT_TYPES, Lint } from 'data/lint/lint-query'
|
||||
import { DOCS_URL } from 'lib/constants'
|
||||
import { Badge, Button } from 'ui'
|
||||
|
||||
export const lintInfoMap: LintInfo[] = [
|
||||
@@ -24,8 +25,7 @@ export const lintInfoMap: LintInfo[] = [
|
||||
link: ({ projectRef, metadata }) =>
|
||||
`/project/${projectRef}/database/indexes?schema=${metadata?.schema}`,
|
||||
linkText: 'Create an index',
|
||||
docsLink:
|
||||
'https://supabase.com/docs/guides/database/database-linter?queryGroups=lint&lint=0001_unindexed_foreign_keys',
|
||||
docsLink: `${DOCS_URL}/guides/database/database-linter?queryGroups=lint&lint=0001_unindexed_foreign_keys`,
|
||||
category: 'performance',
|
||||
},
|
||||
{
|
||||
@@ -34,8 +34,7 @@ export const lintInfoMap: LintInfo[] = [
|
||||
icon: <Lock className="text-foreground-muted" size={15} strokeWidth={1.5} />,
|
||||
link: ({ projectRef }) => `/project/${projectRef}/editor`,
|
||||
linkText: 'View table',
|
||||
docsLink:
|
||||
'https://supabase.com/docs/guides/database/database-linter?queryGroups=lint&lint=0002_auth_users_exposed',
|
||||
docsLink: `${DOCS_URL}/guides/database/database-linter?queryGroups=lint&lint=0002_auth_users_exposed`,
|
||||
category: 'security',
|
||||
},
|
||||
{
|
||||
@@ -44,8 +43,7 @@ export const lintInfoMap: LintInfo[] = [
|
||||
icon: <Table2 className="text-foreground-muted" size={15} strokeWidth={1} />,
|
||||
link: ({ projectRef }) => `/project/${projectRef}/auth/policies`,
|
||||
linkText: 'View policies',
|
||||
docsLink:
|
||||
'https://supabase.com/docs/guides/database/database-linter?queryGroups=lint&lint=0003_auth_rls_initplan',
|
||||
docsLink: `${DOCS_URL}/guides/database/database-linter?queryGroups=lint&lint=0003_auth_rls_initplan`,
|
||||
category: 'performance',
|
||||
},
|
||||
{
|
||||
@@ -54,8 +52,7 @@ export const lintInfoMap: LintInfo[] = [
|
||||
icon: <Table2 className="text-foreground-muted" size={15} strokeWidth={1} />,
|
||||
link: ({ projectRef }) => `/project/${projectRef}/editor`,
|
||||
linkText: 'View table',
|
||||
docsLink:
|
||||
'https://supabase.com/docs/guides/database/database-linter?queryGroups=lint&lint=0004_no_primary_key',
|
||||
docsLink: `${DOCS_URL}/guides/database/database-linter?queryGroups=lint&lint=0004_no_primary_key`,
|
||||
category: 'performance',
|
||||
},
|
||||
{
|
||||
@@ -65,8 +62,7 @@ export const lintInfoMap: LintInfo[] = [
|
||||
link: ({ projectRef, metadata }) =>
|
||||
`/project/${projectRef}/database/indexes?schema=${metadata?.schema}&table=${metadata?.name}`,
|
||||
linkText: 'View index',
|
||||
docsLink:
|
||||
'https://supabase.com/docs/guides/database/database-linter?queryGroups=lint&lint=0005_unused_index',
|
||||
docsLink: `${DOCS_URL}/guides/database/database-linter?queryGroups=lint&lint=0005_unused_index`,
|
||||
category: 'performance',
|
||||
},
|
||||
{
|
||||
@@ -76,8 +72,7 @@ export const lintInfoMap: LintInfo[] = [
|
||||
link: ({ projectRef, metadata }) =>
|
||||
`/project/${projectRef}/auth/policies?schema=${metadata?.schema}&search=${metadata?.name}`,
|
||||
linkText: 'View policies',
|
||||
docsLink:
|
||||
'https://supabase.com/docs/guides/database/database-linter?queryGroups=lint&lint=0006_multiple_permissive_policies',
|
||||
docsLink: `${DOCS_URL}/guides/database/database-linter?queryGroups=lint&lint=0006_multiple_permissive_policies`,
|
||||
category: 'performance',
|
||||
},
|
||||
{
|
||||
@@ -87,8 +82,7 @@ export const lintInfoMap: LintInfo[] = [
|
||||
link: ({ projectRef, metadata }) =>
|
||||
`/project/${projectRef}/auth/policies?schema=${metadata?.schema}&search=${metadata?.name}`,
|
||||
linkText: 'View policies',
|
||||
docsLink:
|
||||
'https://supabase.com/docs/guides/database/database-linter?queryGroups=lint&lint=0007_policy_exists_rls_disabled',
|
||||
docsLink: `${DOCS_URL}/guides/database/database-linter?queryGroups=lint&lint=0007_policy_exists_rls_disabled`,
|
||||
category: 'security',
|
||||
},
|
||||
{
|
||||
@@ -98,8 +92,7 @@ export const lintInfoMap: LintInfo[] = [
|
||||
link: ({ projectRef, metadata }) =>
|
||||
`/project/${projectRef}/auth/policies?schema=${metadata?.schema}&search=${metadata?.name}`,
|
||||
linkText: 'View table',
|
||||
docsLink:
|
||||
'https://supabase.com/docs/guides/database/database-linter?queryGroups=lint&lint=0008_rls_enabled_no_policy',
|
||||
docsLink: `${DOCS_URL}/guides/database/database-linter?queryGroups=lint&lint=0008_rls_enabled_no_policy`,
|
||||
category: 'security',
|
||||
},
|
||||
{
|
||||
@@ -109,8 +102,7 @@ export const lintInfoMap: LintInfo[] = [
|
||||
link: ({ projectRef, metadata }) =>
|
||||
`/project/${projectRef}/database/indexes?schema=${metadata?.schema}&table=${metadata?.name}`,
|
||||
linkText: 'View index',
|
||||
docsLink:
|
||||
'https://supabase.com/docs/guides/database/database-linter?queryGroups=lint&lint=0009_duplicate_index',
|
||||
docsLink: `${DOCS_URL}/guides/database/database-linter?queryGroups=lint&lint=0009_duplicate_index`,
|
||||
category: 'performance',
|
||||
},
|
||||
{
|
||||
@@ -118,10 +110,9 @@ export const lintInfoMap: LintInfo[] = [
|
||||
title: 'Security Definer View',
|
||||
icon: <Eye className="text-foreground-muted" size={15} strokeWidth={1.5} />,
|
||||
link: () =>
|
||||
'https://supabase.com/docs/guides/database/database-linter?queryGroups=lint&lint=0010_security_definer_view',
|
||||
`${DOCS_URL}/guides/database/database-linter?queryGroups=lint&lint=0010_security_definer_view`,
|
||||
linkText: 'View docs',
|
||||
docsLink:
|
||||
'https://supabase.com/docs/guides/database/database-linter?queryGroups=lint&lint=0010_security_definer_view',
|
||||
docsLink: `${DOCS_URL}/guides/database/database-linter?queryGroups=lint&lint=0010_security_definer_view`,
|
||||
category: 'security',
|
||||
},
|
||||
{
|
||||
@@ -131,8 +122,7 @@ export const lintInfoMap: LintInfo[] = [
|
||||
link: ({ projectRef, metadata }) =>
|
||||
`/project/${projectRef}/database/functions?schema=${metadata?.schema}&search=${metadata?.name}`,
|
||||
linkText: 'View functions',
|
||||
docsLink:
|
||||
'https://supabase.com/docs/guides/database/database-linter?queryGroups=lint&lint=0011_function_search_path_mutable',
|
||||
docsLink: `${DOCS_URL}/guides/database/database-linter?queryGroups=lint&lint=0011_function_search_path_mutable`,
|
||||
category: 'security',
|
||||
},
|
||||
{
|
||||
@@ -142,8 +132,7 @@ export const lintInfoMap: LintInfo[] = [
|
||||
link: ({ projectRef, metadata }) =>
|
||||
`/project/${projectRef}/auth/policies?schema=${metadata?.schema}&search=${metadata?.name}`,
|
||||
linkText: 'View policies',
|
||||
docsLink:
|
||||
'https://supabase.com/docs/guides/database/database-linter?queryGroups=lint&lint=0013_rls_disabled_in_public',
|
||||
docsLink: `${DOCS_URL}/guides/database/database-linter?queryGroups=lint&lint=0013_rls_disabled_in_public`,
|
||||
category: 'security',
|
||||
},
|
||||
{
|
||||
@@ -153,8 +142,7 @@ export const lintInfoMap: LintInfo[] = [
|
||||
link: ({ projectRef, metadata }) =>
|
||||
`/project/${projectRef}/database/extensions?filter=${metadata?.name}`,
|
||||
linkText: 'View extension',
|
||||
docsLink:
|
||||
'https://supabase.com/docs/guides/database/database-linter?queryGroups=lint&lint=0014_extension_in_public',
|
||||
docsLink: `${DOCS_URL}/guides/database/database-linter?queryGroups=lint&lint=0014_extension_in_public`,
|
||||
category: 'security',
|
||||
},
|
||||
{
|
||||
@@ -163,7 +151,7 @@ export const lintInfoMap: LintInfo[] = [
|
||||
icon: <Clock className="text-foreground-muted" size={15} strokeWidth={1} />,
|
||||
link: ({ projectRef }) => `/project/${projectRef}/auth/providers`,
|
||||
linkText: 'View settings',
|
||||
docsLink: 'https://supabase.com/docs/guides/platform/going-into-prod#security',
|
||||
docsLink: `${DOCS_URL}/guides/platform/going-into-prod#security`,
|
||||
category: 'security',
|
||||
},
|
||||
{
|
||||
@@ -172,7 +160,7 @@ export const lintInfoMap: LintInfo[] = [
|
||||
icon: <Ruler className="text-foreground-muted" size={15} strokeWidth={1} />,
|
||||
link: ({ projectRef }) => `/project/${projectRef}/auth/providers`,
|
||||
linkText: 'View settings',
|
||||
docsLink: 'https://supabase.com/docs/guides/platform/going-into-prod#security',
|
||||
docsLink: `${DOCS_URL}/guides/platform/going-into-prod#security`,
|
||||
category: 'security',
|
||||
},
|
||||
{
|
||||
@@ -181,30 +169,25 @@ export const lintInfoMap: LintInfo[] = [
|
||||
icon: <User className="text-foreground-muted" size={15} strokeWidth={1} />,
|
||||
link: ({ projectRef }) => `/project/${projectRef}/auth/policies`,
|
||||
linkText: 'View policies',
|
||||
docsLink:
|
||||
'https://supabase.com/docs/guides/database/database-linter?queryGroups=lint&lint=0015_rls_references_user_metadata',
|
||||
docsLink: `${DOCS_URL}/guides/database/database-linter?queryGroups=lint&lint=0015_rls_references_user_metadata`,
|
||||
category: 'security',
|
||||
},
|
||||
{
|
||||
name: 'materialized_view_in_api',
|
||||
title: 'Materialized View in API',
|
||||
icon: <Eye className="text-foreground-muted" size={15} strokeWidth={1.5} />,
|
||||
link: () =>
|
||||
`https://supabase.com/docs/guides/database/database-advisors?lint=0016_materialized_view_in_api`,
|
||||
link: () => `${DOCS_URL}/guides/database/database-advisors?lint=0016_materialized_view_in_api`,
|
||||
linkText: 'View docs',
|
||||
docsLink:
|
||||
'https://supabase.com/docs/guides/database/database-advisors?lint=0016_materialized_view_in_api',
|
||||
docsLink: `${DOCS_URL}/guides/database/database-advisors?lint=0016_materialized_view_in_api`,
|
||||
category: 'security',
|
||||
},
|
||||
{
|
||||
name: 'foreign_table_in_api',
|
||||
title: 'Foreign Table in API',
|
||||
icon: <Table2 className="text-foreground-muted" size={15} strokeWidth={1.5} />,
|
||||
link: () =>
|
||||
`https://supabase.com/docs/guides/database/database-linter?lint=0017_foreign_table_in_api`,
|
||||
link: () => `${DOCS_URL}/guides/database/database-linter?lint=0017_foreign_table_in_api`,
|
||||
linkText: 'View docs',
|
||||
docsLink:
|
||||
'https://supabase.com/docs/guides/database/database-linter?lint=0017_foreign_table_in_api',
|
||||
docsLink: `${DOCS_URL}/guides/database/database-linter?lint=0017_foreign_table_in_api`,
|
||||
category: 'security',
|
||||
},
|
||||
{
|
||||
@@ -212,10 +195,9 @@ export const lintInfoMap: LintInfo[] = [
|
||||
title: 'Unsupported reg types',
|
||||
icon: <Table2 className="text-foreground-muted" size={15} strokeWidth={1.5} />,
|
||||
link: () =>
|
||||
`https://supabase.com/docs/guides/database/database-advisors?lint=0018_unsupported_reg_types&queryGroups=lint`,
|
||||
`${DOCS_URL}/guides/database/database-advisors?lint=0018_unsupported_reg_types&queryGroups=lint`,
|
||||
linkText: 'View docs',
|
||||
docsLink:
|
||||
'https://supabase.com/docs/guides/database/database-advisors?lint=0018_unsupported_reg_types&queryGroups=lint',
|
||||
docsLink: `${DOCS_URL}/guides/database/database-advisors?lint=0018_unsupported_reg_types&queryGroups=lint`,
|
||||
category: 'security',
|
||||
},
|
||||
{
|
||||
@@ -224,7 +206,7 @@ export const lintInfoMap: LintInfo[] = [
|
||||
icon: <Ruler className="text-foreground-muted" size={15} strokeWidth={1} />,
|
||||
link: ({ projectRef }) => `/project/${projectRef}/database/settings`,
|
||||
linkText: 'View settings',
|
||||
docsLink: 'https://supabase.com/docs/guides/platform/ssl-enforcement',
|
||||
docsLink: `${DOCS_URL}/guides/platform/ssl-enforcement`,
|
||||
category: 'security',
|
||||
},
|
||||
{
|
||||
@@ -233,7 +215,7 @@ export const lintInfoMap: LintInfo[] = [
|
||||
icon: <Ruler className="text-foreground-muted" size={15} strokeWidth={1} />,
|
||||
link: ({ projectRef }) => `/project/${projectRef}/database/settings`,
|
||||
linkText: 'View settings',
|
||||
docsLink: 'https://supabase.com/docs/guides/platform/network-restrictions',
|
||||
docsLink: `${DOCS_URL}/guides/platform/network-restrictions`,
|
||||
category: 'security',
|
||||
},
|
||||
{
|
||||
@@ -242,7 +224,7 @@ export const lintInfoMap: LintInfo[] = [
|
||||
icon: <Ruler className="text-foreground-muted" size={15} strokeWidth={1} />,
|
||||
link: ({ projectRef }) => `/project/${projectRef}/auth/providers?provider=Email`,
|
||||
linkText: 'View settings',
|
||||
docsLink: 'https://supabase.com/docs/guides/platform/going-into-prod#security',
|
||||
docsLink: `${DOCS_URL}/guides/platform/going-into-prod#security`,
|
||||
category: 'security',
|
||||
},
|
||||
{
|
||||
@@ -251,7 +233,7 @@ export const lintInfoMap: LintInfo[] = [
|
||||
icon: <Ruler className="text-foreground-muted" size={15} strokeWidth={1} />,
|
||||
link: ({ projectRef }) => `/project/${projectRef}/database/backups/pitr`,
|
||||
linkText: 'View settings',
|
||||
docsLink: 'https://supabase.com/docs/guides/platform/backups#point-in-time-recovery',
|
||||
docsLink: `${DOCS_URL}/guides/platform/backups#point-in-time-recovery`,
|
||||
category: 'security',
|
||||
},
|
||||
{
|
||||
@@ -260,8 +242,7 @@ export const lintInfoMap: LintInfo[] = [
|
||||
icon: <LockIcon className="text-foreground-muted" size={15} strokeWidth={1} />,
|
||||
link: ({ projectRef }) => `/project/${projectRef}/auth/providers?provider=Email`,
|
||||
linkText: 'View settings',
|
||||
docsLink:
|
||||
'https://supabase.com/docs/guides/auth/password-security#password-strength-and-leaked-password-protection',
|
||||
docsLink: `${DOCS_URL}/guides/auth/password-security#password-strength-and-leaked-password-protection`,
|
||||
category: 'security',
|
||||
},
|
||||
{
|
||||
@@ -270,7 +251,7 @@ export const lintInfoMap: LintInfo[] = [
|
||||
icon: <LockIcon className="text-foreground-muted" size={15} strokeWidth={1} />,
|
||||
link: ({ projectRef }) => `/project/${projectRef}/auth/mfa`,
|
||||
linkText: 'View settings',
|
||||
docsLink: 'https://supabase.com/docs/guides/auth/auth-mfa',
|
||||
docsLink: `${DOCS_URL}/guides/auth/auth-mfa`,
|
||||
category: 'security',
|
||||
},
|
||||
{
|
||||
@@ -279,7 +260,7 @@ export const lintInfoMap: LintInfo[] = [
|
||||
icon: <LockIcon className="text-foreground-muted" size={15} strokeWidth={1} />,
|
||||
link: ({ projectRef }) => `/project/${projectRef}/auth/providers?provider=Email`,
|
||||
linkText: 'View settings',
|
||||
docsLink: 'https://supabase.com/docs/guides/auth/password-security',
|
||||
docsLink: `${DOCS_URL}/guides/auth/password-security`,
|
||||
category: 'security',
|
||||
},
|
||||
{
|
||||
@@ -288,7 +269,7 @@ export const lintInfoMap: LintInfo[] = [
|
||||
icon: <LockIcon className="text-foreground-muted" size={15} strokeWidth={1} />,
|
||||
link: ({ projectRef }) => `/project/${projectRef}/settings/api`,
|
||||
linkText: 'View settings',
|
||||
docsLink: 'https://supabase.com/docs/guides/api/api-keys#the-servicerole-key',
|
||||
docsLink: `${DOCS_URL}/guides/api/api-keys#the-servicerole-key`,
|
||||
category: 'security',
|
||||
},
|
||||
{
|
||||
@@ -297,7 +278,7 @@ export const lintInfoMap: LintInfo[] = [
|
||||
icon: <LockIcon className="text-foreground-muted" size={15} strokeWidth={1} />,
|
||||
link: ({ projectRef }) => `/project/${projectRef}/auth/mfa`,
|
||||
linkText: 'View settings',
|
||||
docsLink: 'https://supabase.com/docs/guides/auth/auth-mfa',
|
||||
docsLink: `${DOCS_URL}/guides/auth/auth-mfa`,
|
||||
category: 'security',
|
||||
},
|
||||
{
|
||||
@@ -306,7 +287,7 @@ export const lintInfoMap: LintInfo[] = [
|
||||
icon: <LockIcon className="text-foreground-muted" size={15} strokeWidth={1} />,
|
||||
link: ({ projectRef }) => `/project/${projectRef}/settings/infrastructure`,
|
||||
linkText: 'View settings',
|
||||
docsLink: 'https://supabase.com/docs/guides/platform/upgrading',
|
||||
docsLink: `${DOCS_URL}/guides/platform/upgrading`,
|
||||
category: 'security',
|
||||
},
|
||||
]
|
||||
|
||||
Reference in new issue
Block a user